将输入的两个数分别赋给 a 和 b,然后判断 a 和 b 的关系,如果 a 小于 b,则利用中间变量 t 将其互换。然后用碾转相除法:a为俩数中最大的数,d为2数的相乘,a%b得余数c,开始循环(c!=0)再把b赋给a,余数c赋给b。然后继续执行循环,直到余数为0结束循环。
#include <stdio.h>
int main(int argc,const char *argv[])
{
int a,b,c,d,t;
printf("请输入两个数:\n");
scanf("%d%d",&a,&b);
if(a<b)
{
t=a;
a=b;
b=t;
}
d=a*b;
c=a%b;
while(c!=0)
{
a=b;
b=c;
c=a%b;
}
printf("最大公约数是:\n%d\n",b);
printf("最小公倍数是:\n%d\n",d/b);
}