递归 求最大公约数?为什么不能运行?
程序代码:
#include #include int gys(int m,int n) { if(n%m==0) return m; else return gys(m,n%m); } int main() { int a; while(scanf("%d",&a)!=EOF) { int b,c; scanf("%d",&b); c=gys(a,b); printf("%d",c); } return 0; }
#include <stdio.h> #include <stdlib.h> int main() { int a; while(scanf("%d",&a)!=EOF) { if(a<=0) break; //如果小于等于0,退出 if(a==1) //如果等于1,直接输出结果 { printf("Result of %d is:%d\n",a,1); continue; } int i=1,tmp; for(;i<=(a/2);i++) { if(a%i==0) { tmp=i; } } printf("Result of %d is:%d\n",a,tmp); } return 0; }