输入数组,最小的元素与最大的元素交换,输出数组。(要求用函数实现)
时间: 2023-11-02 11:25:33 浏览: 77
好的,可以使用以下的函数实现这个功能:
```c++
#include <iostream>
using namespace std;
void swapMinMax(int arr[], int size) {
int minIndex = 0, maxIndex = 0;
for (int i = 1; i < size; i++) {
if (arr[i] < arr[minIndex]) {
minIndex = i;
}
if (arr[i] > arr[maxIndex]) {
maxIndex = i;
}
}
int temp = arr[minIndex];
arr[minIndex] = arr[maxIndex];
arr[maxIndex] = temp;
}
int main() {
int arr[] = {2, 4, 1, 5, 3};
int size = sizeof(arr) / sizeof(arr[0]);
swapMinMax(arr, size);
for (int i = 0; i < size; i++) {
cout << arr[i] << " ";
}
cout << endl;
return 0;
}
```
这个函数的原理是遍历一次数组,找到最小值和最大值的下标,然后交换两个下标对应的元素。最后输出交换后的数组。
阅读全文