交换最小值和最大值c语言
时间: 2023-08-10 16:02:18 浏览: 170
下面是一种交换数组中最小值和最大值的 C 语言实现方法:
```c
#include <stdio.h>
int main() {
int arr[] = {5, 2, 8, 3, 1, 9}; // 定义数组
int n = sizeof(arr) / sizeof(arr[0]); // 数组长度
int max_index = 0, min_index = 0;
for (int i = 0; i < n; i++) {
if (arr[i] > arr[max_index]) { // 找到最大值的下标
max_index = i;
}
if (arr[i] < arr[min_index]) { // 找到最小值的下标
min_index = i;
}
}
// 交换最大值和最小值
int temp = arr[max_index];
arr[max_index] = arr[min_index];
arr[min_index] = temp;
// 输出交换后的数组
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
以上代码中,首先定义了一个整型数组 `arr`,并通过 `sizeof` 操作符和数组元素类型的大小计算出数组长度 `n`。接下来,通过遍历数组找到最大值和最小值的下标,并将它们交换。最后,输出交换后的数组。
阅读全文