本关任务:写两个西数,分别求两个整数的最大公约数和最小公倍数,用主西数调用这两个西数,并输出结果。两个整数由键盘揄 人,如果输入的数中包含负数,则输出Input Error.c语言
时间: 2024-03-18 18:41:23 浏览: 55
好的,我已经了解了您的要求。以下是代码实现:
```c
#include <stdio.h>
#include <stdlib.h>
// 求最大公约数
int gcd(int a, int b) {
if (a < 0 || b < 0) {
printf("Input Error\n");
exit(1);
}
while (b != 0) {
int temp = a % b;
a = b;
b = temp;
}
return a;
}
// 求最小公倍数
int lcm(int a, int b) {
if (a < 0 || b < 0) {
printf("Input Error\n");
exit(1);
}
return (a * b) / gcd(a, b);
}
int main() {
int num1, num2;
printf("请输入两个整数:");
scanf("%d %d", &num1, &num2);
printf("最大公约数:%d\n", gcd(num1, num2));
printf("最小公倍数:%d\n", lcm(num1, num2));
return 0;
}
```
您可以将上述代码复制到您的 C 语言编辑器中运行,输入两个整数后即可得到最大公约数和最小公倍数的结果。注意,如果输入的数中包含负数,程序会输出 "Input Error" 并退出程序。
阅读全文