c语言写2个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果。两个整数由键盘输入
时间: 2024-06-13 19:09:29 浏览: 148
以下是C语言求两个整数最大公约数和最小公倍数的代码,其中使用了两个函数maxyue和minbei来分别求最大公约数和最小公倍数,主函数中调用这两个函数并输出结果:
```c
#include <stdio.h>
// 求最大公约数
int maxyue(int a, int b) {
int c, yue = 0;
for (c = 1; c <= a && c <= b; c++) {
if (a % c == 0 && b % c == 0)
yue = c;
}
return yue;
}
// 求最小公倍数
int minbei(int a, int b) {
int yue = maxyue(a, b);
int bei = (a * b) / yue; // 最小公倍数=两个数相乘/最大公约数
return bei;
}
int main() {
int a, b;
printf("请输入两个数:");
scanf("%d%d", &a, &b);
printf("最大公约数为%d\n", maxyue(a, b));
printf("最小公倍数为%d\n", minbei(a, b));
return 0;
}
```
相关问题
C语言求两个整数的最大公约数和最小公倍数 写2个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果。两个整数由键盘输入
以下是示例代码:
```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 gcd_num = gcd(a, b);
int lcm_num = lcm(a, b);
printf("%d和%d的最大公约数为:%d\n", a, b, gcd_num);
printf("%d和%d的最小公倍数为:%d\n", a, b, lcm_num);
return 0;
}
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) {
int gcd_num = gcd(a, b);
return a * b / gcd_num;
}
```
在该示例代码中,我们定义了两个函数`gcd`和`lcm`,分别用于求两个整数的最大公约数和最小公倍数。在`gcd`函数中,我们使用辗转相除法求出两个整数的最大公约数,并返回计算结果。在`lcm`函数中,我们首先调用`gcd`函数求出两个整数的最大公约数,然后计算两个整数的乘积除以最大公约数,即为它们的最小公倍数。在主函数中,我们从标准输入中读取两个整数,并调用`gcd`和`lcm`函数计算最大公约数和最小公倍数。最后,我们使用`printf`函数将计算结果输出到屏幕上。
c语言写两个函数分别求两个的最大公约数和最小公倍数用主函数调用这两个函数并输出结果两个整数由键盘输入
以下是C语言实现求两个整数的最大公约数和最小公倍数的代码,其中包括两个函数maxyue和minbei以及主函数main的实现:
```c
#include <stdio.h>
// 求最大公约数
int maxyue(int a, int b) {
int c, yue = 0;
for (c = 1; c <= a && c <= b; c++) {
if (a % c == 0 && b % c == 0) {
yue = c;
}
}
return yue;
}
// 求最小公倍数
int minbei(int a, int b) {
int yue = maxyue(a, b);
int bei = (a * b) / yue; // 最小公倍数=两个数相乘/最大公约数
return bei;
}
// 主函数
int main() {
int a, b;
printf("请输入两个数:");
scanf("%d%d", &a, &b);
printf("最大公约数为%d\n", maxyue(a, b));
printf("最小公倍数为%d\n", minbei(a, b));
return 0;
}
```
阅读全文