请帮忙看下错在那里?谢谢啦!
我是新手...刚接触C这东西,,,,这个是求最大公约数...别告诉我用函数...我还不会....谢谢
/* Note:Your choice is C IDE */
#include "stdio.h"
main()
{int a,b,c,n;
scanf("%d,%d",&a,&b);
if (a>b)
for(n=b;n>1;--n)
{ if(a/n==0&&b/n==0)
printf("%d\n",n);
}
else
for(n=a;n>1;--n)
{ if(a/n==0&&b/n==0)
printf("%d\n",n);
}
}
void main()
{int a,b,n;
scanf("%d,%d",&a,&b);
if (a>b)
for(n=b;n>1;--n)
{ if(a%n==0 && b%n==0)
{ printf("%d\n",n);
break;
}
}
else
for(n=a;n>1;--n)
{ if(a%n==0 && b%n==0)
{ printf("%d\n",n);
break;
}
}
} 谢谢啊!~可惜冒似...2个程序没什么区别啊??? 仔细看看有没有区别之后再作决定。 怎么没区别了?
for(n=b;n>1;--n)
{ if(a%n==0 && b%n==0)
{ printf("%d\n",n);
break;
}
}
加了一个BREAK就使得找出最大公约数后,退出FOR循环。这样就避免了程序继续找下一个公约数。 改动之一:a/n==0&&b/n==0 改为 a%n==0 && b%n==0
请理解一下 / 与 % 的区别,这是本程序很关键的一步。
改动之二:见5楼。 晕了.....原来...%输成/了...
页:
[1]
