C语言最大公约数
计算两个正整数的最大公约数。请按以下给定的函数原型编程:
int MaxCommonFactor(int a, int b);
返回值:返回的是最大公约数;若输入的数据有任意一个不满足条件,返回值是-1。
程序的运行示例1如下:
45,155 (输入,用,隔开)
5 (输出)
程序的运行示例2如下:
-9,20
-1
输入数据格式:"%d,%d"
输出数据格式:"%d"
#include<stdio.h>
int MaxCommonFactor(int a, int b);
int main(void) {
int a, b;
scanf("%d,%d", &a, &b);
if(a>0&&b>0)
printf("%d",MaxCommonFactor(a,b));
else
printf("%d",-1);
return 0;
}
int MaxCommonFactor(int a, int b) {
int i;
while (b != 0) {
i = a % b;
a = b;
b = i;
}
return a;
}