c语言.写出两个函数,分别用于求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果,两个整数由键盘输入。
时间: 2023-11-27 18:03:26 浏览: 44
大学经典C语言编程试题.doc
以下是C语言代码:
```c
#include <stdio.h>
// 求最大公约数
int gcd(int a, int b) {
int r;
while (b > 0) {
r = a % b;
a = b;
b = r;
}
return a;
}
// 求最小公倍数
int lcm(int a, int b) {
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;
}
```
首先定义了两个函数 `gcd` 和 `lcm`,分别用于求最大公约数和最小公倍数。其中 `gcd` 函数采用了辗转相除法求解, `lcm` 函数则是通过公式 $a \times b / \gcd(a, b)$ 来计算。
在 `main` 函数中,首先从键盘读入两个整数 `num1` 和 `num2`,然后调用 `gcd` 和 `lcm` 函数分别计算最大公约数和最小公倍数,并将结果输出。
阅读全文