回复 4楼 NO跑老本
恩,谢谢呀!但你给的程序有错误,不能输出···你给出详解吧!

每一个阶段,都是一次不可或缺的成长···
程序代码:#include <stdio.h>
int main()
{
int n,m,r; // 这个temp没用到,我删了.
printf("input n and m:");
scanf("%d%d",&m,&n); // 如果没有特别的需要, 这两个%d%d最好连着,免得不必要的符合.
// 中间这段if是多余的, 你不交换, 后面一样会做.你可以仔细分析一下代码
r=m%n;
// 你的算法没有问题,而且是非常好的, 别改.
while( r!=0 ) /*求n和m的最大公约数*/
{
m=n;
n=r;
r=m%n;
}
printf(" gongyueshu: %d\n",n);
return 0;
}