C语言:编写一个程序,实现将一维数组中的最大值和最小值对换位置。主函数中为一维数组输入10哥整数,并输出结果
时间: 2024-03-05 12:48:21 浏览: 114
好的,以下是您所需的 C 代码:
```c
#include <stdio.h>
void swap(int *a, int *b) { // 交换函数
int temp = *a;
*a = *b;
*b = temp;
}
void swapMaxMin(int arr[], int n) { // 交换最大值和最小值位置的函数
int maxIndex = 0, minIndex = 0;
for (int i = 1; i < n; i++) {
if (arr[i] > arr[maxIndex]) {
maxIndex = i;
}
if (arr[i] < arr[minIndex]) {
minIndex = i;
}
}
swap(&arr[maxIndex], &arr[minIndex]);
}
int main() {
int arr[10];
printf("请输入10个整数:\n");
for (int i = 0; i < 10; i++) {
scanf("%d", &arr[i]);
}
swapMaxMin(arr, 10);
printf("交换后的数组为:\n");
for (int i = 0; i < 10; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
注意:由于题目要求是将最大值和最小值对换位置,因此我们需要先找到数组中的最大值和最小值的下标,然后再用一个交换函数来实现它们的位置对换。
阅读全文