pta交换最大值和最小值
时间: 2023-08-10 22:02:52 浏览: 119
这是一道算法题,假设给定的数组为arr,我们需要找到其中的最大值和最小值,并将它们的位置交换。
可以在一次遍历中同时找到最大值和最小值,然后用一个临时变量来交换它们的位置。
具体的代码实现如下:
```c++
#include <iostream>
using namespace std;
const int MAXN = 10010;
int arr[MAXN];
int main() {
int n;
cin >> n;
int maxIndex = 0, minIndex = 0;
for (int i = 0; i < n; i++) {
cin >> arr[i];
if (arr[i] > arr[maxIndex]) {
maxIndex = i;
}
if (arr[i] < arr[minIndex]) {
minIndex = i;
}
}
swap(arr[maxIndex], arr[minIndex]);
for (int i = 0; i < n; i++) {
cout << arr[i];
if (i != n - 1) {
cout << " ";
}
}
return 0;
}
```
这个程序可以接受一个整数n,表示数组的长度,然后接受n个整数作为数组的元素,最后输出交换后的数组。
阅读全文