先将输入的一系列整数中的最小值与第一个数交换,然后将最大值与最后一个数交换,最后输出交换后的序列。
时间: 2023-10-12 13:09:52 浏览: 73
好的,您想实现的功能是将输入的一系列整数中的最小值与第一个数交换,然后将最大值与最后一个数交换,最后输出交换后的序列。以下是C++实现的代码:
```c++
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int main()
{
vector<int> nums;
int n;
while (cin >> n)
{
nums.push_back(n);
}
int minIdx = 0, maxIdx = nums.size() - 1;
for (int i = 1; i < nums.size(); i++)
{
if (nums[i] < nums[minIdx])
{
minIdx = i;
}
if (nums[i] > nums[maxIdx])
{
maxIdx = i;
}
}
swap(nums[0], nums[minIdx]);
swap(nums[nums.size() - 1], nums[maxIdx]);
for (int i = 0; i < nums.size(); i++)
{
cout << nums[i] << " ";
}
cout << endl;
return 0;
}
```
该代码通过不断读入输入的整数,将其存储在一个vector中。然后使用一个循环来找到最小值和最大值的下标,再通过swap函数交换对应的数值。最后输出交换后的序列。
阅读全文