c语言函数封装求两数的最大公约数和最小公倍数
时间: 2023-11-12 16:04:17 浏览: 91
可以使用辗转相除法求解两个数的最大公约数,再利用公式(a*b)/最大公约数求得最小公倍数。
以下是C语言函数封装的代码实现:
```c
#include <stdio.h>
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);
}
int main()
{
int num1, num2, hcf, lcmf;
printf("Enter two numbers: ");
scanf("%d%d", &num1, &num2);
hcf = gcd(num1, num2);
lcmf = lcm(num1, num2);
printf("GCD of %d and %d is %d\n", num1, num2, hcf);
printf("LCM of %d and %d is %d\n", num1, num2, lcmf);
return 0;
}
```
在这个代码示例中,我们定义了两个函数`gcd`和`lcm`,它们分别用于求最大公约数和最小公倍数。函数`gcd`使用辗转相除法求解两个数的最大公约数,而函数`lcm`则使用公式(a*b)/最大公约数来计算最小公倍数。在主函数中,我们从用户输入中获取两个数,并使用`gcd`和`lcm`函数来计算它们的最大公约数和最小公倍数。最后,我们将结果打印到控制台上。
阅读全文