菜鸟求助:一个简单C程序的问题

来源:百度知道 编辑:UC知道 时间:2024/05/09 15:15:02
题目:求两个数的最大公约数最小公倍数.
我是这样做的,但为什么最大公约能输出最小公倍数输不出啊??而把while语句改为for语句却又行得通了.
main()
{
int i,m,n;
int j=m;
printf("please input m and n:");
scanf("%d,%d",&m,&n);
printf("m=%d n=%d\n",m,n);
if(m<n)
{ i=n;n=m;m=i;}
for(i=n;i>=1;i--)
if(m%i==0&&n%i==0)
{
printf("zui da gong yue shu i=%d ",i);
break;
}
while(j>=m&&j<=m*n)
if(j%m==0&&j%n==0)
{
printf("zui da gong bei shu j=%d",j);
break;
j++;
}
getch();
}

while(j>=m&&j<=m*n)
{if(j%m==0&&j%n==0)
{
printf("zui da gong bei shu j=%d",j);
break;
}
j++;
}

我也是菜鸟,不过我觉得J++不对,你放在IF里面,那当J等于M时,不能满足IF的条件,那J怎么++,所以只能判断J=M的情况了