设计一个函数MinCommonMultiple,其功能是计算两个正整数的最小公倍数。 注意: (1)请将修改正确后的完整源程序拷贝粘贴到答题区内。 (2)对于没有错误的语句,请不要修改,修改原本正确的语句也要扣分。 (3)当且仅当错误全部改正,且程序运行结果调试正确,才给加5分。 #include <stdio.h> int MinCommonMultiple(int a,int b) main() { int a,b,x; printf("Input a,b:"); scanf("%d,%d",a,b); x = MinCommonMultiple(a,b); printf("MinCommonMultiple = %d\n", x); } int MinCommonMultiple(int a,int b); { int i; for(i=1; i<a*b; i++) { if(i%a == 0 || i%b == 0) return i; } }
时间: 2023-06-20 20:09:13 浏览: 63
修改后的程序如下:
```
#include <stdio.h>
int MinCommonMultiple(int a, int b); // 去掉分号
int main() {
int a, b, x;
printf("Input a,b:");
scanf("%d,%d", &a, &b); // 加上 & 符号
x = MinCommonMultiple(a, b);
printf("MinCommonMultiple = %d\n", x);
return 0; // 缺少返回值
}
int MinCommonMultiple(int a, int b) { // 去掉分号和多余的花括号
int i;
for(i = 1; i <= a * b; i++) { // 修改循环条件
if(i % a == 0 && i % b == 0) { // 修改判断条件
return i;
}
}
}
```
修改说明:
1. 第 3 行去掉 `;`,因为该行是函数声明语句,不应该以分号结束。
2. 第 5 行加上 `&` 符号,因为 `scanf` 函数需要获取变量的地址。
3. 第 8 行添加返回值 `0`,因为 `main` 函数声明为 `int` 类型,需要返回一个整型值。
4. 第 10 行去掉分号和多余的花括号,因为这里是函数定义语句,应该以花括号开始。
5. 第 12 行修改循环条件为 `i <= a * b`,因为最小公倍数不会超过两个数的积。
6. 第 13 行修改判断条件为 `i % a == 0 && i % b == 0`,因为最小公倍数应该同时满足两个数的倍数。