主题:求大侠们看看这个程序哪里错了
a591163189
[专家分:20] 发布于 2012-06-28 22:34:00
这是一个求最小公倍数的问题,我这样写为什么结果会是0??
#include<stdio.h>
int main()
{
int m,n,j,i;
scanf("%d%d",&m,&n);
for(i=1;m*i!=n*i;i++); /*这里循环体是空语句*/
j=m*i;
printf("%d",j);
return 0;
}
回复列表 (共4个回复)
沙发
bruceteen [专家分:42660] 发布于 2012-06-29 08:23:00
for(i=1;m*i!=n*i;i++); 这是个什么玩意儿?
如果一开始 m不等于n,那么岂不是死循环了
板凳
danyshi [专家分:100] 发布于 2012-06-29 09:11:00
循环本身有问题,算法也有问题!
3 楼
danyshi [专家分:100] 发布于 2012-06-29 10:36:00
#include <stdio.h>
int main()
{
int a,b,i;
printf("请输入两个正整数:");
scanf("%d", &a);
scanf("%d", &b);
if(a>b)
i=a;
else
i=b;
while(!(i%a==0&&i%b==0))
i++;
printf("%d\n", i);
return 0;
}
这样可以求最小公倍数
4 楼
a591163189 [专家分:20] 发布于 2012-06-29 20:00:00
谢谢各位大大,我今天 又看了一下,确实是循环本身出了问题了,有时候就是自己走进死胡同了
我来回复