设计一个函数MaxCommonFactor(),利用欧几里德算法(也称辗转相除法)计算两个正整数的最大公约数。代码如下,按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。 #include


设计一个函数MaxCommonFactor(),利用欧几里德算法(也称辗转相除法)计算两个正整数的最大公约数。代码如下,按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。 #include

int MaxCommonFactor(int a, int b);int main()

{

int a, b, x;printf(“Input a,b:”);scanf(“%d,%d”, &a, &b);x =___ ; if (x != -1) { printf("MaxCommonFactor = %d", x); } else { printf("Input error!"); } return 0;}

//函数功能: 计算两个正整数的最大公约数,-1表示没有最大公约数

int MaxCommonFactor(int a, int b)

{

int r;if (a<=0 || b<=0) return -1; // 保证输入的参数为正整数

do{ ____________; a = b; _____________; }while (__________); return a;}

A.第8行: MaxCommonFactor(a, b)第29行: r = a % b第31行: b = r第32行: r != 0

B.第8行: MaxCommonFactor(a, b, x)第29行: r = a % b第31行: a = r第32行: r == 0

C.第8行: MaxCommonFactor(a, x)第29行: r = b % a第31行: b = r第32行: r = 0

D.第8行: MaxCommonFactor(x, b)第29行: r = a / b第31行: a = r第32行: r != 0

正确答案:第8行: MaxCommonFactor(a, b)第29行: r = a % b第31行: b = r第32行: r != 0