输入数组(5个数),使最小元素和最大元素交换,用函数实现,C语言
时间: 2024-03-18 10:39:54 浏览: 55
可以按照以下步骤来实现:
1. 定义一个函数,该函数接收一个整型数组和数组的长度作为参数。
2. 在函数中,找到数组中的最小值和最大值,以及它们的下标。
3. 交换最小值和最大值所在的数组元素。
4. 打印交换后的数组。
下面是示例代码:
```c
#include <stdio.h>
void swapMinMax(int arr[], int len) {
int min = arr[0], max = arr[0], min_idx = 0, max_idx = 0;
for (int i = 1; i < len; i++) {
if (arr[i] < min) {
min = arr[i];
min_idx = i;
}
if (arr[i] > max) {
max = arr[i];
max_idx = i;
}
}
int temp = arr[min_idx];
arr[min_idx] = arr[max_idx];
arr[max_idx] = temp;
}
int main() {
int arr[5];
printf("请输入5个整数:\n");
for (int i = 0; i < 5; i++) {
scanf("%d", &arr[i]);
}
swapMinMax(arr, 5);
printf("交换后的数组为:\n");
for (int i = 0; i < 5; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
注意:上述代码并未考虑输入数组中有相同的最小值或最大值的情况。如果需要处理这种情况,可以将最小值和最大值的下标存储在数组中,然后在交换数组元素时进行处理。
阅读全文