楼主你有没有搜索旧贴啊,这个问题很多了
#include <stdio.h>void main(){ int a,b,c; printf("input two interge:"); scanf("%d%d",&a,&b); c=a>=b?b:a; while(a%c!=0||b%c!=0)c--; printf("这两个数的最大公因数:%d\n",c);
}献臭了.
上面这个程序好像不对啊?只是疑问?
恩,少了界限,这样会一值循环的
辗转相除法#include<stdio.h>
void main() { int m,n,r; scanf("%d%d",&m,&n); while(r=m%n) { m=n,n=r; } printf("%d\n",n); }
可以不判断m,n和大小,当m>n时就直接循环,如果m<n时只是多做了一次循环.
对