输入数组,最小元素与最大元素的交换,输出数组,C语言
时间: 2023-11-02 21:25:57 浏览: 79
好,以下是在 C 语言中实现该功能的代码:
```c
#include <stdio.h>
void swap_min_max(int arr[], int len) {
int min_idx = 0, max_idx = 0;
for (int i = 1; i < len; i++) {
if (arr[i] < arr[min_idx]) {
min_idx = i;
}
if (arr[i] > arr[max_idx]) {
max_idx = i;
}
}
int temp = arr[min_idx];
arr[min_idx] = arr[max_idx];
arr[max_idx] = temp;
}
int main() {
int my_arr[] = {5, 2, 8, 3, 9};
int len = sizeof(my_arr) / sizeof(int);
swap_min_max(my_arr, len);
for (int i = 0; i < len; i++) {
printf("%d ", my_arr[i]);
}
return 0;
}
```
首先定义一个函数 `swap_min_max`,该函数接受一个数组及其长度作为参数。函数内部使用 for 循环遍历数组,找到最小元素和最大元素的下标,然后交换这两个元素。最后在主函数中调用该函数,并遍历数组打印每个元素。
希望这段代码能够满足您的需求!如果您有其他问题,可以继续问我。
阅读全文