交换最小值和最大值c语言
时间: 2023-08-09 21:10:33 浏览: 96
c语言程序找出其中的最大值和最小值问题
下面是交换最小值和最大值的 C 代码:
```c
#include <stdio.h>
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
int main() {
int arr[10] = {3, 8, 1, 6, 2, 7, 9, 5, 4, 0};
int n = sizeof(arr) / sizeof(arr[0]);
int max_idx = 0, min_idx = 0;
// 寻找最大值和最小值的下标
for (int i = 1; i < n; i++) {
if (arr[i] > arr[max_idx]) {
max_idx = i;
} else if (arr[i] < arr[min_idx]) {
min_idx = i;
}
}
// 交换最大值和最小值
swap(&arr[max_idx], &arr[min_idx]);
// 输出结果
printf("交换后的数组:\n");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
代码中,我们使用了一个 `swap` 函数来交换两个数字。然后,我们在数组中寻找最大值和最小值的下标,最后调用 `swap` 函数交换这两个数字。
阅读全文