主题:求助!求最大公约数,最小公倍数为
#include <stdio.h>
void main()
{int a,b,c,d;
int max( int a, int b);
printf("请输入两个整数:");
scanf("%d,%d",&a,&b);
c=max(a,b);
d=(a*b)/c;
printf("这两个数的最大公约数为%d,最小公倍数为%d\n",c,d);
printf("\n");
}
int max( int a, int b)
{ int m,n;
int x;
m=a>b?a:b;
n=a>b?b:a;
x=m%n;
while (x!=0)
{ m=n;
n=x;
x=m%n;
}
return n;
}
为什么结果不对啊?
void main()
{int a,b,c,d;
int max( int a, int b);
printf("请输入两个整数:");
scanf("%d,%d",&a,&b);
c=max(a,b);
d=(a*b)/c;
printf("这两个数的最大公约数为%d,最小公倍数为%d\n",c,d);
printf("\n");
}
int max( int a, int b)
{ int m,n;
int x;
m=a>b?a:b;
n=a>b?b:a;
x=m%n;
while (x!=0)
{ m=n;
n=x;
x=m%n;
}
return n;
}
为什么结果不对啊?