写C++代码,输入n个整数,逆序输出,分别用向量和表实现
时间: 2023-12-13 19:05:38 浏览: 82
使用向量实现:
```cpp
#include <iostream>
#include <vector>
using namespace std;
int main() {
int n;
cin >> n;
vector<int> nums(n);
for (int i = 0; i < n; i++) {
cin >> nums[i];
}
for (int i = n - 1; i >= 0; i--) {
cout << nums[i] << " ";
}
return 0;
}
```
使用表实现:
```cpp
#include <iostream>
#include <list>
using namespace std;
int main() {
int n;
cin >> n;
list<int> nums;
for (int i = 0; i < n; i++) {
int num;
cin >> num;
nums.push_front(num);
}
for (auto it = nums.begin(); it != nums.end(); it++) {
cout << *it << " ";
}
return 0;
}
```
相关问题
利用数组输入一个正整数,要求①求出它是几位数②分别输出每一位数字③按逆序输出各位数字
要实现这个功能,你可以按照以下步骤编写C++程序:
1. 首先,创建一个动态数组来存储输入的整数的每一位。由于不知道具体数值范围,我们可以使用`std::vector<int>`,它的大小可以根据需要动态调整。
```cpp
#include <iostream>
#include <vector>
int main() {
int input;
std::cout << "请输入一个正整数: ";
std::cin >> input;
// 创建一个 vector 来存储每一位数字
std::vector<int> digits(input, 0); // 初始化所有元素为 0
for (size_t i = 0; i < digits.size(); ++i) {
digits[i] = input % 10; // 取余得到当前位上的数字
input /= 10; // 删除最低位
}
// 输出每一位数字
std::cout << "每一位数字: ";
for (const auto& digit : digits) {
std::cout << digit << " ";
}
std::cout << "\n";
// 按逆序输出各位数字
std::cout << "逆序输出的各位数字: ";
for (size_t i = digits.size() - 1; i >= 0; --i) {
std::cout << digits[i] << " ";
}
std::cout << "\n";
return 0;
}
```
在这个程序中,我们首先读取用户的输入,然后用循环从右到左依次取出每一位数字并存储在`digits`向量中。接着,我们遍历`digits`,按顺序输出每一位数字,最后再次遍历`digits`但从后往前(即逆序)输出。
随几输入几个数字将它们逆序输出C + +
在C++中,你可以通过数组或者向量来存储数字,并使用循环结构如for或while来逆序输出。这里是一个简单的例子,它接受用户输入的几个整数并逆序打印:
```cpp
#include <iostream>
#include <vector>
int main() {
int n;
std::cout << "请输入数字的个数: ";
std::cin >> n;
// 创建一个大小为n的动态数组(也可以使用std::vector)
int numbers[n];
std::cout << "请输入" << n << "个数字: ";
for (int i = 0; i < n; ++i) {
std::cin >> numbers[i];
}
// 逆序输出数组元素
for (int i = n - 1; i >= 0; --i) {
std::cout << numbers[i] << " ";
}
std::cout << "\n";
return 0;
}
```
当你运行这个程序时,会提示用户输入数字的数量以及每个数字。然后程序会逆序输出这些数字。
阅读全文