5. 让用户输入n个整数,存储到一个向量中,然后对该向量的值按逆序重新存放。例如,原来的顺序为8,6,5,4,1。要求改为1,4,5,6,8。n和整数的值请用户输入。
时间: 2023-08-31 14:25:17 浏览: 70
### 回答1:
#include <iostream>
#include <vector>
using namespace std;
int main() {
int n, num;
vector<int> nums;
cout << "请输入整数个数n:";
cin >> n;
for (int i = 0; i < n; i++) {
cout << "请输入第" << i+1 << "个整数:";
cin >> num;
nums.push_back(num);
}
cout << "原始顺序为:";
for (int i = 0; i < n; i++) {
cout << nums[i] << " ";
}
for (int i = 0; i < n/2; i++) {
int temp = nums[i];
nums[i] = nums[n-1-i];
nums[n-1-i] = temp;
}
cout << "\n逆序后顺序为:";
for (int i = 0; i < n; i++) {
cout << nums[i] << " ";
}
return 0;
}
### 回答2:
实现该功能的算法如下:
1. 首先让用户输入要输入多少个整数n;
2. 创建一个向量vector来存储用户输入的n个整数;
3. 使用循环语句将用户输入的n个整数存储到vector中;
4. 创建一个临时变量temp,用来交换两个整数的值;
5. 使用循环语句使vector中的元素按逆序重新存放,具体方法是通过交换首尾元素、然后交换次首与次尾元素,以此类推,直到交换到中间位置;
6. 使用循环语句输出重新存放后的vector中的值。
以下是实现上述算法的示例代码:
```cpp
#include <iostream>
#include <vector>
int main() {
int n;
std::cout << "请输入要输入的整数个数n:";
std::cin >> n;
std::vector<int> nums(n);
std::cout << "请输入" << n << "个整数:";
for (int i = 0; i < n; i++) {
std::cin >> nums[i];
}
int temp;
for (int i = 0; i < n / 2; i++) {
temp = nums[i];
nums[i] = nums[n - 1 - i];
nums[n - 1 - i] = temp;
}
std::cout << "重新存放后的值为:";
for (int num : nums) {
std::cout << num << " ";
}
return 0;
}
```
用户可以根据提示输入整数的个数和具体的整数值,程序会将输入的值按逆序重新存放并输出。
例如,用户输入n为5,整数的值为8,6,5,4,1,则程序会将其重新存放为1,4,5,6,8并输出。
### 回答3:
请用户输入一个整数n,表示要输入的整数个数。
用户依次输入n个整数,并将这些整数存储到一个向量中。
接下来,用一个for循环从向量的末尾开始,将向量中的值按逆序重新存放到另一个向量中。
最后,输出重新存放后的向量中的值,即为按逆序排列的整数。
具体实现如下:
```cpp
#include <iostream>
#include <vector>
using namespace std;
int main() {
int n;
cout << "请输入整数的个数n:";
cin >> n;
vector<int> nums(n);
cout << "请输入" << n << "个整数:" << endl;
for (int i = 0; i < n; i++) {
cin >> nums[i];
}
vector<int> reverseNums(n);
int j = 0;
for (int i = n - 1; i >= 0; i--) {
reverseNums[j] = nums[i];
j++;
}
cout << "按逆序重新存放后的整数为:" << endl;
for (int i = 0; i < n; i++) {
cout << reverseNums[i] << " ";
}
cout << endl;
return 0;
}
```
用户首先输入整数的个数n,然后输入n个整数,最后输出按逆序重新存放后的整数。例如,如果用户输入n为5,整数依次为8, 6, 5, 4, 1,则输出为1, 4, 5, 6, 8。
阅读全文