该程序功能:输入m、n(要求输入数均大于0),输出它们的最大公约数。

该程序功能:输入m、n(要求输入数均大于0),输出它们的最大公约数。
#include <stdio.h>
void main()
{ int m,n,k;
while(scanf("%d%d",&m,&n), _______1______ ); //!(n>0&&m>0)
for( ____2____; n%k!=0||m%k!=0; k--); //k=m或k=n
printf("%d\n",k);
}

第一个空为什么是!(n>0&&m>0)

第一个空是!(n>0&&m>0),表示输入的两个数只有都是正数时才运行下面的代码,假如你输入的负数,它会一直让你输,直到输入的数中有两个正数为止。明白?
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-04-17
因为题目要求是输入数均大于0,所以必须加上限制条件啊~~n>0&&m>0..中间这个&&符号表示且的关系。。就是说既要m大于0也要n大于0
第2个回答  2011-04-17
因为题目要求输入m、n(要求输入数均大于0),所以得把不符合的去掉
第3个回答  2011-04-17
你给的输入条件不是这样要求的么!
第4个回答  2011-04-17
题目要求,求两个正数的最大公约数

相关了解……

你可能感兴趣的内容

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