用C语言写两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果。两个整数由键盘输入。
时间: 2023-11-24 19:26:05 浏览: 204
好的,以下是使用C语言编写的程序,可以通过两个函数分别求出两个整数的最大公约数和最小公倍数,并在主函数中调用这两个函数并输出结果:
```c
#include <stdio.h>
// 求两个整数的最大公约数
int gcd(int a, int b) {
if (b == 0) {
return a;
} else {
return gcd(b, a % b);
}
}
// 求两个整数的最小公倍数
int lcm(int a, int b) {
return a * b / gcd(a, b);
}
int main() {
int a, b, max, min;
printf("请输入两个整数:");
scanf("%d%d", &a, &b);
max = gcd(a, b);
min = lcm(a, b);
printf("%d和%d的最大公约数是:%d\n", a, b, max);
printf("%d和%d的最小公倍数是:%d\n", a, b, min);
return 0;
}
```
在程序中,我们定义了两个函数 `gcd` 和 `lcm`,分别用于求两个整数的最大公约数和最小公倍数。
其中 `gcd` 函数使用辗转相除法求两个整数的最大公约数,当 `b` 为0时,返回 `a`,否则返回 `gcd(b, a%b)`。
而 `lcm` 函数则通过公式 `a*b/gcd(a,b)` 求出两个整数的最小公倍数。在主函数中,我们通过调用这两个函数,分别求出最大公约数和最小公倍数,并输出结果。
需要注意的是,在求最小公倍数时,我们先求出最大公约数,然后通过公式求出最小公倍数。
阅读全文