用c语言写两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果。两个整数由键盘输入,如果输入的数中包含负数,则输出Input Error。
时间: 2023-11-27 09:10:12 浏览: 62
以下是使用C语言编写的两个函数,用于找到两个整数的最大公约数和最小公倍数:
```c
#include <stdio.h>
int gcd(int num1, int num2) {
if (num1 < 0 || num2 < 0) {
printf("Input Error\n");
return -1;
}
int temp;
while (num2 != 0) {
temp = num1 % num2;
num1 = num2;
num2 = temp;
}
return num1;
}
int lcm(int num1, int num2) {
if (num1 < 0 || num2 < 0) {
printf("Input Error\n");
return -1;
}
int gcdNum = gcd(num1, num2);
if (gcdNum == -1) {
return -1;
}
return (num1 * num2) / gcdNum;
}
int main() {
int num1, num2;
printf("Enter two integers: ");
scanf("%d %d", &num1, &num2);
int gcdNum = gcd(num1, num2);
int lcmNum = lcm(num1, num2);
if (gcdNum != -1 && lcmNum != -1) {
printf("GCD of %d and %d is %d\n", num1, num2, gcdNum);
printf("LCM of %d and %d is %d\n", num1, num2, lcmNum);
}
return 0;
}
```
这个程序使用两个函数gcd和lcm来找到输入的两个整数的最大公约数和最小公倍数。如果输入的数字为负数,则函数将打印“Input Error”并返回-1。主函数通过调用这两个函数并输出结果来使用这些函数。
阅读全文