使用c++将一组整数的最小值替换为它的最大值。输入任意个整数,用函数编程查找最大值 和最小值,然后将最小值更新为最大值,最后在主函数中输出变换后的数组。
时间: 2023-06-14 12:04:14 浏览: 62
下面是一个实现该功能的 C++ 代码:
```cpp
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
void update_array(vector<int>& arr) {
int min_idx = min_element(arr.begin(), arr.end()) - arr.begin();
int max_idx = max_element(arr.begin(), arr.end()) - arr.begin();
arr[min_idx] = arr[max_idx];
}
int main() {
vector<int> arr;
int x;
cout << "请输入一组整数(输入-1结束):" << endl;
while (cin >> x && x != -1) {
arr.push_back(x);
}
if (arr.empty()) {
cout << "输入为空!" << endl;
return 0;
}
update_array(arr);
cout << "变换后的数组为:" << endl;
for (int i = 0; i < arr.size(); i++) {
cout << arr[i] << " ";
}
cout << endl;
return 0;
}
```
该程序首先使用 `vector` 存储输入的整数序列,然后用 `min_element` 和 `max_element` 函数分别找到最小值和最大值的下标,最后将最小值的位置替换为最大值的值,完成数组的变换。