用C语言,输入数组,最小的元素与最大的元素交换,输出数组(用函数)
时间: 2023-11-02 21:27:52 浏览: 28
下面是一个示例代码,可以实现输入数组,最小的元素与最大的元素交换,输出数组的功能,并且使用了函数进行实现。
```c
#include <stdio.h>
void swapMinAndMax(int arr[], int n) {
int i, max_index, min_index, temp;
max_index = min_index = 0;
for (i = 1; i < n; i++) {
if (arr[i] > arr[max_index]) {
max_index = i;
}
if (arr[i] < arr[min_index]) {
min_index = i;
}
}
// 交换最小值和最大值
temp = arr[min_index];
arr[min_index] = arr[max_index];
arr[max_index] = temp;
}
void printArray(int arr[], int n) {
int i;
printf("交换后的数组为:\n");
for (i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
}
int main() {
int n, i;
printf("请输入数组的长度:");
scanf("%d", &n);
int arr[n];
printf("请输入数组的元素:\n");
for (i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
swapMinAndMax(arr, n);
printArray(arr, n);
return 0;
}
```
在这个代码中,我们定义了两个函数:`swapMinAndMax` 和 `printArray`。前者用于交换最小值和最大值,后者用于输出整个数组。在主函数中,我们输入了数组的长度和元素,然后调用了 `swapMinAndMax` 函数进行交换,并使用 `printArray` 函数输出整个数组。