C语言问题,输出结果不能完全显示,怎么回事?

下面是我写的求两个数的最小公倍数
#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);
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-07-01
看下你最后的C*= 1写错了没有
第2个回答  2013-07-01
求最大公约数的那个地方不对

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网