C语言通过函数swap输入十个整数,计算其最大值和最小值并互换他们在数组中的位置
时间: 2024-12-20 09:23:45 浏览: 1
在C语言中,我们可以创建一个函数`swapMaxMin`来实现这个功能。首先,我们需要一个函数`findMinMax`来找到数组中的最大值和最小值,然后用另一个函数`swapPositions`来交换它们在数组中的位置。下面是一个简单的示例:
```c
#include <stdio.h>
// 函数声明
void findMinMax(int arr[], int n, int *min, int *max);
void swapPositions(int arr[], int minIndex, int maxIndex);
// 主函数
int main() {
int numbers[10];
// 输入十个整数到数组中
for (int i = 0; i < 10; i++) {
scanf("%d", &numbers[i]);
}
int min, max;
// 找出最大值和最小值
findMinMax(numbers, 10, &min, &max);
printf("原数组:");
for (int i = 0; i < 10; i++) {
printf("%d ", numbers[i]);
}
// 交换最大值和最小值的位置
swapPositions(numbers, min, max);
printf("\n交换后的数组:");
for (int i = 0; i < 10; i++) {
printf("%d ", numbers[i]);
}
return 0;
}
// 找到数组中的最小值和最大值
void findMinMax(int arr[], int n, int *min, int *max) {
*min = *max = arr[0]; // 初始化
for (int i = 1; i < n; i++) {
if (arr[i] < *min) {
*min = arr[i];
} else if (arr[i] > *max) {
*max = arr[i];
}
}
}
// 交换数组中两个元素的位置
void swapPositions(int arr[], int minIndex, int maxIndex) {
int temp = arr[minIndex];
arr[minIndex] = arr[maxIndex];
arr[maxIndex] = temp;
}
```
在这个例子中,`findMinMax`函数会修改输入指针所指向的变量`min`和`max`,而在`main`函数中,我们先打印原始数组,然后调用这两个函数进行操作,并再次打印交换后的数组。
阅读全文