求3个数的最大公约数
//从键盘中任意输入3个数,编程求出这3个数的最大公约数和最小公倍数#include<stdio.h>
#include<math.h>
int ss(int,int);
int main(void)
{
int a,b,c,c1,c2,t,e,m;
printf("请输入3个整数:\n");
scanf("%d%d%d",&a,&b,&c);
if(a<b)
{
t=a;
a=b;
b=c;
}
if(a<c)
{
t=a;
a=c;
c=t;
}
if(b<c)
{
t=b;
b=c;
c=t;
}
m=a*b*c;
c1=ss(a,c);//求出最大的与最小的最大公约数
c2=ss(b,c);//求出中间的与最小的最大公约数
e=ss(c1,c2);
printf("最大公约数和最小公倍数为:%d,%d\n",e,m/e);
}
int ss(int c1,int c2)//求最大公约数
{
int t,c;
if(c1<c2)
{
t=c1;
c1=c2;
c2=t;
}
c=c1%c2;
while(c!=0)
{
c1=c2;
c2=c;
c=c1%c2;
}
return c2;
}
结果不对,请各位不吝赐教