求两个数的最大公约数。 [csharp] view plain copy #include<stdio.h> int max_common_divisor(inta,intb) { while(a*b!= 0) { if(a>b) { a= a%b; } else { b= b%a; } } return a== 0 ?b :a; } int main() { int a = 12; int b = 3; printf("%d,%d\n最大公约数是:%d", a, b, max_common_divisor(a, b)); system("pause"); return 0; } 修正后的程序: [csharp] view plain copy #include <stdio.h> int main() { int num1 = 12; int num2 = 3; int tmp= 0; while((tmp=num1%num2) != 0) { num1 = num2; num2 = tmp; } printf("%d\n",num2); system("pause"); return 0; }