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

#include<stdio.h>
int main()
{
int la(int x,int y);
int a,b,c,g;
printf("输入两个整数:");
scanf("%d,%d",&a,&b);
c=la(a,b);
g=(a*b)/c;
printf("最小公倍数:%d\n",c);
printf("最大公约数:%d",g);
return 0;
}

int la(int x,int y)
{
int d;
d=x;
while((x%y)!=0)
d=d+x;
return (d);
}
运行为什么没有结果

#include<stdio.h
#define N 10
#define MAX 20
/*
要考虑结果超出整型能表达的范围
*/
#include<stdio.h>
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);
}

温馨提示:答案为网友推荐,仅供参考
相似回答