[求助]问题出在哪呢
# include "stdio.h"
void main()
{int p,r,n,m,temp;
printf("请输入2个正整数n,m:");
scanf("%d,%d",&n,&m);
if(n<m)
{temp=n;
n=m;
m=temp;
}
p=n*m;
while(m!=0)
{r=n%m;
n=m;
m=r;
}
printf("他们的最大公约数是:%d\n",n);
printf("他们的最小公倍数是:%d\n",p/n);
}
输入12,8
输出他们的最大公约数是:4
他们的最小公倍数是:24
问题是出在这
{r=n%m;
n=m;
m=r;
}
此处应该是n=8
m=4
不知道对不对,,不对的话解释下。。。
如果对的那话那么
printf("他们的最大公约数是:%d\n",n);
应该是输出输出他们的最大公约数是:8
????
到底怎么回事
----------------解决方案--------------------------------------------------------
如果对的那话那么
printf("他们的最大公约数是:%d\n",n);
应该是输出输出他们的最大公约数是:8
????
到底怎么回事
???
输入12,8
输出他们的最大公约数是:4
他们的最小公倍数是:24
你认为最大公约数是多少啊?
----------------解决方案--------------------------------------------------------
就是说
问题是出在这
{r=n%m;
n=m;
m=r;
}
此处应该是n=8
m=4
我这样理解对不对啊~~~~~
----------------解决方案--------------------------------------------------------
然后printf("他们的最大公约数是:%d\n",n);
这条语句不是输出 n???
n不是等于8????
----------------解决方案--------------------------------------------------------
不对
while(m!=0)
{r=n%m;
n=m;
m=r;
}
12%8......4
n=8
m=4
8%4.......0
n=4
m=0
----------------解决方案--------------------------------------------------------
明白了。。。
循环语句没掌握好。。。我只循环了1次。。
谢谢啊
楼上的有QQ没,。。。以后遇到问题好问你
呵~~~
----------------解决方案--------------------------------------------------------
请教不敢,一起进步
----------------解决方案--------------------------------------------------------
----------------解决方案--------------------------------------------------------