在主函数中首先输入一个整数到变量n中,然后输入n个整数到数组中,调用函数exchange().完成将数组中的最小值与第0个元素对调,将数组中的最大值与最后一个元素对调,在主函数中调用函数print()输出调换前和调换后的数组。要求被调函数exchange()和print()的参数均为:①数组名;②数组元素的个数。
时间: 2024-03-25 09:41:22 浏览: 106
好的,以下是代码实现:
```c
#include <stdio.h>
void exchange(int arr[], int n) {
int max = arr[0], min = arr[0], max_index = 0, min_index = 0;
for (int i = 1; i < n; i++) {
if (arr[i] > max) {
max = arr[i];
max_index = i;
}
if (arr[i] < min) {
min = arr[i];
min_index = i;
}
}
int temp = arr[max_index];
arr[max_index] = arr[n-1];
arr[n-1] = temp;
temp = arr[min_index];
arr[min_index] = arr[0];
arr[0] = temp;
}
void print(int arr[], int n) {
printf("调换前:");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n调换后:");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
}
int main() {
int n;
scanf("%d", &n);
int arr[n];
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
exchange(arr, n);
print(arr, n);
return 0;
}
```
在主函数中,首先输入整数n表示数组元素个数,然后输入n个整数到数组中。接下来调用exchange函数,完成数组中最大值和最小值的对调。最后调用print函数,输出结果。exchange函数中首先遍历数组,找到最大值和最小值的下标。然后将最大值和最后一个元素对调,将最小值和第一个元素对调。print函数中分别输出调换前和调换后的数组元素。
阅读全文