最大公约数,为什么不行?
/* Note:Your choice is C IDE */#include "stdio.h"
main()
{
int a,b,c,d;
scanf("%d%d\n",&a,&b);
for(c=1;c<=a&&c<=b;c=c+1)
{if (a%c==0&&b%c==0) d=c;}
printf("%d",d);
}
搜索更多相关的解决方案:
最大公约数
----------------解决方案--------------------------------------------------------
把c=2开始。1 的话本来就是任何数公约数
----------------解决方案--------------------------------------------------------
还是不行啊
----------------解决方案--------------------------------------------------------
#include "stdio.h"
main()
{
int a,b,c,d;
scanf("%d%d\n",&a,&b);
for(c=1;c<=a&&c<=b;c++);-----------c++和C=C+1是不等价的
{if (a%c==0&&b%c==0) d=c;}
printf("%d",d);
----------------解决方案--------------------------------------------------------
可是输入参数 输出结果却是1,比如10和5
----------------解决方案--------------------------------------------------------
不会吧,我是菜鸟,我觉得改成c++就可以了,可为什么不行
----------------解决方案--------------------------------------------------------
知道了
/* Note:Your choice is C IDE */
#include "stdio.h"
main()
{
int a,b,c,d;
scanf("%d%d\n",&a,&b);
for(c=1;(c<=a&&c<=b);c=c+1) /*运算顺序的问题*/
{if (a%c==0&&b%c==0) d=c;}
printf("%d",d);
}
----------------解决方案--------------------------------------------------------
哦,还有把c=c+1改为c++[em03忘了改了
----------------解决方案--------------------------------------------------------
楼上的诸位有一点说的不对,c=c+1和c++是等价的
我只改了一个小地方,就编译通过了。(我是在wintc下编译通过的)
#include "stdio.h"
main()
{
int a,b,c,d;
scanf("%d %d",&a,&b);
for(c=1;c<=a&&c<=b;c=c+1)
{if (a%c==0&&b%c==0) d=c;}
printf("%d",d);
getch();
}
输入时,两个数以空格为间隔符。
----------------解决方案--------------------------------------------------------
还是老毛病
----------------解决方案--------------------------------------------------------