写两个函数,分别求出两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,

2024-11-29 06:52:05
推荐回答(1个)
回答1:

#include 
#define N 10
#define MAX 20
/*
要考虑结果超出整型能表达的范围
*/
#include
int gcd(int a,int b);//最小公约数
int lcd(int a,int b);//最小公倍数
int main()
{
int a,b,c,g;
printf("输入两个整数:"); 
scanf("%d %d",&a,&b);
 if(a!=0&&b!=0)
 {
  c=gcd(a,b);
g=lcd(a,b);
printf("最大公约数:%d\n",c);
printf("最小公倍数:%d\n",g);
}
else
{
printf("Input error!\n");
}
return 0;
}

int gcd(int a,int b)//辗转相除法
{
 int t=0;
 while(1)
  {
  t=a%b;
  if(t==0)
  break;
  a=b;
  b=t;
  } 
  return b;
}
int lcd(int a,int b)
{
return a*b/gcd(a,b);
}