C语言:这样求最小公倍数为什么不对呢?

来源:百度知道 编辑:UC知道 时间:2024/07/03 07:19:57
#include<stdio.h>
main()
{int m,n,t,gongbei;
printf("请输入两个数");
scanf("%d%d",&m,&n);

if(m>0&&n>0&&m>n)
{t=n,n=m,m=t;}
for(gongbei=n;gongbei>=n;gongbei++)
{if(gongbei%m==0&&gongbei%n==0)
printf("最小公倍数是%d",gongbei);break;}

}

举个例子 我输入 3和8就得不到我想要的结果

没有分 只能表示感谢了

if(gongbei%m==0&&gongbei%n==0)

{
printf("最小公倍数是%d",gongbei);break;
}把这两个括起来

和你那个最大公约数一样
不想m n小于0
定义int的时候定义m n的值为一就可以了

int是整型,定义的都是整数 不是0 最小值只能是1了的

最后少了两个大括号,加上再运行看看

for(gongbei=n;;gongbei++)
{
if(gongbei%m==0&&gongbei%n==0)
{
printf("最小公倍数是%d",gongbei);
break;
}

}