输入一个数组,最小的元素和最大的元素交换,输出数组,C语言
时间: 2023-11-02 13:27:02 浏览: 50
可以使用以下代码实现:
```c
#include <stdio.h>
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
void swap_min_max(int arr[], int n) {
int min_index = 0, max_index = 0;
for (int i = 1; i < n; i++) {
if (arr[i] < arr[min_index]) {
min_index = i;
}
if (arr[i] > arr[max_index]) {
max_index = i;
}
}
swap(&arr[min_index], &arr[max_index]);
}
int main() {
int arr[] = {5, 2, 8, 3, 1};
int n = sizeof(arr) / sizeof(arr[0]);
printf("Original array: ");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
swap_min_max(arr, n);
printf("Swapped array: ");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
输出结果为:
```
Original array: 5 2 8 3 1
Swapped array: 1 2 8 3 5
```
阅读全文