用C语言 输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。
时间: 2023-11-02 13:01:31 浏览: 71
好的,这是一个编程问题。可以使用如下的代码实现该功能:
```c
#include <stdio.h>
void swap(int* a, int* b) {
int temp = *a;
*a = *b;
*b = temp;
}
void reverse_array(int arr[], int n) {
// find the index of maximum and minimum elements
int max_index = 0, min_index = 0;
for (int i = 1; i < n; i++) {
if (arr[i] > arr[max_index]) max_index = i;
if (arr[i] < arr[min_index]) min_index = i;
}
// swap the maximum element with the first element
swap(&arr[max_index], &arr[0]);
// swap the minimum element with the last element
swap(&arr[min_index], &arr[n-1]);
}
int main() {
int arr[5] = {4, 1, 7, 3, 9};
reverse_array(arr, 5);
for (int i = 0; i < 5; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
该程序会先输入一个包含5个元素的数组,然后会通过调用`reverse_array`函数来交换最大和最小元素,并输出交换后的数组。注意,该程序只适用于包含5个元素的数组,如果需要处理更多或更少的元素,需要修改程序。