编无参函数,void print(),并结合使用全局变量k与n,使每调用一次该函数,总显示出k行“+”符号来,且每行均显示连续的n个“+”符号。并编制主函数 main,对该函数进行具体调用。
时间: 2023-04-28 20:03:07 浏览: 114
以下是编写的无参函数void print()的代码:
```
int k = 5; // 全局变量k,表示要显示的行数
int n = 10; // 全局变量n,表示每行显示的“+”符号个数
void print() {
for (int i = ; i < k; i++) {
for (int j = ; j < n; j++) {
cout << "+";
}
cout << endl;
}
}
```
在该函数中,使用了两个for循环,外层循环控制行数,内层循环控制每行显示的“+”符号个数。每次调用该函数,都会显示出k行n个“+”符号。
以下是主函数main的代码:
```
int main() {
k = 3; // 修改全局变量k的值为3
print(); // 调用print函数,显示3行10个“+”符号
return ;
}
```
在主函数中,先修改了全局变量k的值为3,然后调用print函数,显示3行10个“+”符号。
相关问题
什么情况下非void型函数调用时前面没有变量名
在C语言中,当我们调用一个非`void`型函数且不需要使用函数的返回值时,我们可以省略函数调用前面的变量名。
这种情况通常发生在我们只关心函数的副作用而不需要返回值的情况下。副作用指的是函数对其他变量或系统状态产生的改变,比如修改全局变量、写入文件或输出到终端等。
举个例子,假设我们有一个函数`printNumber(int num)`,它的功能是将传入的数字打印到屏幕上。如果我们只关心函数的副作用,即打印数字到屏幕上,并不需要使用函数的返回值,那么我们可以省略函数调用前面的变量名,直接写成`printNumber(42);`。
需要注意的是,如果我们需要使用函数的返回值,或者需要传递参数给函数进行计算并使用计算结果,那么就不能省略函数调用前面的变量名,需要根据函数的定义和要求提供相应的参数。
求两正整数的最大公约数和最小公倍速数,用一个函数求最大公约数,另一个函数求最小公倍数。要求:\n\n(1)使用全局变量。将最大公约数和最小公倍数都设为全局变量;\n\n(2)不使用全局变量。将最大公约数和最小
### 回答1:
公倍数分别作为函数的返回值。
使用全局变量的代码:
int gcd, lcm; // 全局变量,存储最大公约数和最小公倍数
// 求最大公约数的函数
void getGCD(int a, int b) {
int temp;
while (b != 0) {
temp = a % b;
a = b;
b = temp;
}
gcd = a;
}
// 求最小公倍数的函数
void getLCM(int a, int b) {
getGCD(a, b); // 先求最大公约数
lcm = a * b / gcd;
}
不使用全局变量的代码:
// 求最大公约数的函数,返回值为最大公约数
int getGCD(int a, int b) {
int temp;
while (b != 0) {
temp = a % b;
a = b;
b = temp;
}
return a;
}
// 求最小公倍数的函数,返回值为最小公倍数
int getLCM(int a, int b) {
int gcd = getGCD(a, b); // 先求最大公约数
return a * b / gcd;
}
### 回答2:
最大公约数(GCD)是指能够同时整除两个数的最大正整数,最小公倍数(LCM)是指能够被两个数同时整除的最小正整数。
在不使用全局变量的情况下,我们可以分别定义两个函数来求解最大公约数和最小公倍数。
首先我们来定义函数gcd(x, y)来求最大公约数:
```python
def gcd(x, y):
while y != 0:
x, y = y, x % y
return x
```
在上述函数中,我们使用了辗转相除法来计算最大公约数。具体的步骤是:首先令x为两个数中较大的数,y为较小的数。然后,用y除以x的余数来更新x和y,直到y等于0为止。最后返回x即为最大公约数。
接下来我们定义函数lcm(x, y)来求最小公倍数:
```python
def lcm(x, y):
return x * y // gcd(x, y)
```
在上述函数中,我们利用最大公约数来计算最小公倍数的关系式是:最小公倍数等于两数的乘积除以最大公约数。
当需要求解最大公约数和最小公倍数时,可以调用上述定义好的函数来进行计算。同时,由于这两个函数中并没有使用全局变量来保存结果,因此可以多次调用而不会影响结果。
### 回答3:
在这里,我将使用两种方式来实现求两个正整数的最大公约数和最小公倍数。
1. 使用全局变量来存储最大公约数和最小公倍数。
```python
# 使用全局变量存储最大公约数和最小公倍数
max_gcd = 0
min_lcm = 0
# 求最大公约数的函数
def gcd(a, b):
global max_gcd
while b != 0:
a, b = b, a % b
max_gcd = a
# 求最小公倍数的函数
def lcm(a, b):
global min_lcm
min_lcm = (a * b) // max_gcd
# 输入正整数a和b
a = int(input("请输入第一个正整数a: "))
b = int(input("请输入第二个正整数b: "))
# 调用函数求最大公约数和最小公倍数
gcd(a, b)
lcm(a, b)
# 输出最大公约数和最小公倍数
print("最大公约数为:", max_gcd)
print("最小公倍数为:", min_lcm)
```
2. 不使用全局变量来存储最大公约数和最小公倍数。
```python
# 求最大公约数的函数
def gcd(a, b):
while b != 0:
a, b = b, a % b
return a
# 求最小公倍数的函数
def lcm(a, b):
return (a * b) // gcd(a, b)
# 输入正整数a和b
a = int(input("请输入第一个正整数a: "))
b = int(input("请输入第二个正整数b: "))
# 调用函数求最大公约数和最小公倍数
max_gcd = gcd(a, b)
min_lcm = lcm(a, b)
# 输出最大公约数和最小公倍数
print("最大公约数为:", max_gcd)
print("最小公倍数为:", min_lcm)
```
以上两种方式都可以用来求解两个正整数的最大公约数和最小公倍数,具体选择哪种方式取决于具体需求。
相关推荐
![gz](https://img-home.csdnimg.cn/images/20210720083447.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)