问答题

下列给定程序中,fun()函数的功能是:求3个数的最小公倍数,例如,给变量a、b、c、分别输入15、11、2,则输出结果应当是330。
请修改函数中的错误,得出正确的结果。
注意:不要改动main()函数,不能增行或减行,也不能更改程序的结构。
试题程序:
#include<stdio.h>
int fun(int x, int y, int z)
{
int i, temp, n, m;
//****found****
i=1;
temp=m=n=1;
//****found****
while(temp!=0&&m!=0&&n!=0)
{
i=i+1;
temp=i%x;
m=i%y;
n=i%z;
}
return i;
}
void main()
{
int a, b, c, i;
printf("Input a b c: ");
scanf("%d%d%d", &a, &b, &c);
printf("a=%d, b=%d, c=%d\n", a, b, c);
i=fun(a, b, c);
printf("The minimal common multiple is: %d\n", i);
}

【参考答案】

(1)错误:i=1;
正确:i=0;
(2)错误:while(temp!=0&&m!=0&&n!=0......

(↓↓↓ 点击下方‘点击查看答案’看完整答案 ↓↓↓)