用c语言编写程序,通过两个自定义函数分别求两个正整数的最大公约数和最小公倍数,用主函数调用这两个函数并输出结果。两个正整数由键盘输入。
时间: 2023-11-24 07:04:54 浏览: 118
C语言程序设计-编写自定义函数max,用来求三个数的最大值(要求:数据的输入、输出在主函数中实现)。
5星 · 资源好评率100%
好的,下面是代码实现:
```c
#include <stdio.h>
int gcd(int a, int b); // 求最大公约数函数
int lcm(int a, int b); // 求最小公倍数函数
int main() {
int a, b;
printf("请输入两个正整数:");
scanf("%d %d", &a, &b);
int max = gcd(a, b);
int min = lcm(a, b);
printf("%d和%d的最大公约数为:%d\n", a, b, max);
printf("%d和%d的最小公倍数为:%d\n", a, b, min);
return 0;
}
// 求最大公约数函数
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) {
return a * b / gcd(a, b);
}
```
注意:此代码中的 `gcd` 和 `lcm` 函数使用的是辗转相除法和公式法,如果需要使用更高效的算法可以自行替换。
阅读全文