用·c++编写递归函数输出1,2,…..,n。自己输出中间的数,其它数的输出由递归函数调用来完成。
时间: 2024-05-13 10:13:43 浏览: 8
好的,这个问题是关于编程的,我可以直接回答。这个问题可以用以下的C语言代码实现:
```
#include <stdio.h>
void printNum(int n) {
if (n > 0) {
printNum(n - 1);
printf("%d ", n);
}
}
int main() {
int n;
printf("请输入一个正整数n:");
scanf("%d", &n);
printNum(n);
return 0;
}
```
这个程序使用递归函数 `printNum` 来输出从 1 到 n 的所有整数。当 `n > 0` 时,递归调用 `printNum(n-1)` 来输出前面的数字,然后再输出当前的数字 `n`。如果 `n <= 0`,递归停止。
相关问题
用c++编写一个递归函数实现第一行输出1,第二行输出2以此类推
好的,让我来为您编写这个递归函数:
```c++
#include <iostream>
using namespace std;
void printLine(int n) {
if(n == 0) {
return;
} else {
printLine(n - 1);
cout << n << " ";
}
}
int main() {
int n;
cout << "请输入要输出的行数:";
cin >> n;
for(int i = 1; i <= n; i++) {
printLine(i);
cout << endl;
}
return 0;
}
```
这个程序会先让用户输入要输出的行数,然后用一个 for 循环来输出每一行。对于每一行,我们调用递归函数 `printLine()`,传入行数作为参数,这个函数会用递归的方式输出每一个数字。当数字为 0 时,递归停止。
用c++递归函数将123输出为1-2-3的代码
以下是用 C++ 编写的递归函数将 123 输出为 1-2-3 的代码:
```cpp
#include <iostream>
using namespace std;
void print(int n) {
if (n == 1) {
cout << n;
} else {
print(n - 1);
cout << "-" << n;
}
}
int main() {
print(3); // 输出 1-2-3
return 0;
}
```
首先定义一个递归函数 `print`,参数为一个整数 `n`。如果 `n` 等于 1,直接输出 1;否则,先递归调用 `print(n - 1)`,再输出 `"-"` 和 `n`。
在 `main` 函数中,调用 `print(3)` 输出 1-2-3。