下面是我写的求两个数的最小公倍数
#include<stdio.h>
void main()
{
int a,b,c=1,i,y,z;
printf("请输入两个整数");
scanf("%d%d",&a,&b);
for(i=2;i<=a&&i<=b;i++)
{
y=a%i,z=b%i;
if(y==0&&z==0)
c*=i;
}
printf("最小公倍数是%d\n",a*b/c);
}
例如输入3 8得到结果为24,这结果是对的,当我输入20 30得到结果为6,当输入10 20得到结果为2,输入110 10得到结果为11,输入两个尾数为0的数得到的结果就少一个0,这是怎么回事?
最大公约数的地方写错了
#include<stdio.h>void main()
{
int a,b,c=1,i,y,z;
printf("请输入两个整数");
scanf("%d%d",&a,&b);
y = a < b ? a : b;
for (i = y; i >= 2; i--)
{
if (a % i == 0 && b % i == 0)
{
c = i;
break;
}
}
printf("最小公倍数是%d\n",a*b/c);
}
温馨提示:答案为网友推荐,仅供参考