写两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果。两个整数由键盘输入,如果输入的数中包含负数,则输出Input Error,c语言
时间: 2023-11-27 22:23:35 浏览: 153
可以使用以下代码实现:
```c
#include <stdio.h>
int gcd(int a, int b) {
int temp;
while(b != 0) {
temp = b;
b = a % b;
a = temp;
}
return a;
}
int lcm(int a, int b) {
int gcdValue = gcd(a, b);
return (a * b) / gcdValue;
}
int main() {
int num1, num2;
printf("Please input two integers: ");
scanf("%d %d", &num1, &num2);
if(num1 < 0 || num2 < 0) {
printf("Input Error\n");
return 0;
}
int gcdValue = gcd(num1, num2);
int lcmValue = lcm(num1, num2);
printf("The greatest common divisor of %d and %d is: %d\n", num1, num2, gcdValue);
printf("The least common multiple of %d and %d is: %d\n", num1, num2, lcmValue);
return 0;
}
```
这个代码中定义了两个函数 `gcd` 和 `lcm`,分别用于求两个整数的最大公约数和最小公倍数。在主函数中,首先从键盘输入两个整数,如果有负数则输出 `Input Error`。然后调用 `gcd` 和 `lcm` 函数,分别计算最大公约数和最小公倍数,并打印结果。
阅读全文