用C++ 实现一个程序,使得传入一个正整数为N的参数之后,能顺序打印从1到N的全部正整 数: 1)用两种方法实现上述程序,如循环、递归
时间: 2024-09-30 08:16:35 浏览: 52
在C++中,我们可以使用循环和递归两种方法来实现这个程序。以下是两种方式的示例:
**方法一:使用循环(迭代法)**
```cpp
#include <iostream>
void printNumbers(int N) {
for (int i = 1; i <= N; ++i) {
std::cout << i << " ";
}
std::cout << std::endl;
}
int main() {
int N;
std::cout << "请输入一个正整数: ";
std::cin >> N;
printNumbers(N);
return 0;
}
```
在这个程序中,`printNumbers`函数通过一个for循环遍历从1到N的所有整数并打印。
**方法二:使用递归(递归法)**
```cpp
#include <iostream>
// 递归函数,打印n的阶乘
void printNumbersRecursively(int n, int current = 1) {
if (current > n) {
return;
}
std::cout << current << " ";
printNumbersRecursively(n, current + 1);
}
int main() {
int N;
std::cout << "请输入一个正整数: ";
std::cin >> N;
printNumbersRecursively(N);
return 0;
}
```
这里,我们定义了一个递归函数`printNumbersRecursively`,每次递归都会先打印当前数字,然后递归地增加`current`值直到达到`n`为止。
阅读全文