c++从标准输入依次读入给定若干个在int范围内的的整数,将他们按照读入顺序的倒序输出,递归方式
时间: 2024-12-15 19:18:54 浏览: 6
在C++中,你可以使用递归来实现这个功能。首先,你需要创建一个函数,用于接收一个整数作为参数,并处理剩余的整数。然后,你可以通过`cin`获取下一个整数,直到输入结束。递归的核心思想在于,每次调用自身都会处理一个元素,直到处理完最后一个。
下面是一个简单的示例:
```cpp
#include <iostream>
// 递归函数,传入一个数组首元素和剩余元素的数量
void reversePrint(int arr[], int size) {
// 如果只剩下一个元素,直接输出
if (size == 1)
std::cout << arr[0] << " ";
else {
// 递归地打印剩余部分,然后输出当前元素
reversePrint(arr + 1, size - 1);
std::cout << arr[0] << " ";
}
}
int main() {
int num;
std::cout << "请输入整数(以空格分隔,输入-1结束):";
// 读取输入,存放在动态数组中
int* input = new int[std::numeric_limits<int>::max()];
int count = 0;
while (std::cin >> num && num != -1) {
input[count++] = num;
}
// 调用递归函数进行倒序打印
reversePrint(input, count);
// 清理内存
delete[] input;
return 0;
}
```
在这个程序中,用户需要输入一系列整数,直到输入 `-1` 结束。程序会按倒序输出这些整数。注意,这种方法仅适用于一次性能够读取到所有输入的情况,因为它是用动态数组存储的。如果连续读取,应该使用其他数据结构(如栈或队列)来保持元素的输入顺序。
阅读全文