用c++写出用全局变量的方法,分别用两个函数求最大公约数和最小公倍数,但其值不由函数带回。将最大公约数和最小公倍数设为全局变量,在主函数中输出他们的值。
时间: 2024-11-18 22:18:36 浏览: 10
在 C++ 中,我们可以使用全局变量(extern声明)来存储计算的最大公约数(GCD)和最小公倍数(LCM)。首先,我们需要定义一个函数(如 `gcd` 和 `lcm`)来计算这两个值,并通过全局变量存储结果。然后,在主函数 `main` 中读取并输出这些值。这里是一个简单的示例:
```cpp
#include <iostream>
// 定义全局变量
int gcd_value = 0;
int lcm_value = 0;
// 计算最大公约数 (GCD) 的函数
int gcd(int a, int b) {
// 如果b为0,则返回a作为GCD
if (b == 0)
return a;
else
return gcd(b, a % b);
}
// 计算最小公倍数 (LCM) 的函数
int lcm(int a, int b) {
// 使用 GCD 计算 LCM
return (a * b) / gcd(a, b);
}
// 主函数 main
int main() {
// 假设我们想计算的数字
int num1 = 48;
int num2 = 18;
// 调用 gcd 函数并将结果存入全局变量
gcd_value = gcd(num1, num2);
// 再调用 lcm 函数,并使用 gcd_value 存储计算结果
lcm_value = lcm(num1, num2);
// 输出结果
std::cout << "最大公约数 (GCD): " << gcd_value << std::endl;
std::cout << "最小公倍数 (LCM): " << lcm_value << std::endl;
return 0;
}
```
在这个例子中,即使 `gcd` 和 `lcm` 函数没有直接返回它们的结果,全局变量 `gcd_value` 和 `lcm_value` 仍然保留了最后计算出的最大公约数和最小公倍数。
阅读全文