.从键盘输入10个整数,用函数编程找到最大值与最小值,并将最大值与最小值的位置交换,输出调整后的数组。用c语言的形式来写
时间: 2024-12-18 16:36:12 浏览: 8
在C语言中,你可以通过定义一个函数来接收用户输入的10个整数,然后找出最大值、最小值并交换他们的位置。以下是实现的一个例子:
```c
#include <stdio.h>
// 函数声明,接受整数数组和大小作为参数
void swap_and_findMinMax(int arr[], int n, int* min_index, int* max_index);
// 主函数
int main() {
int arr[10], i;
printf("请输入10个整数:\n");
for (i = 0; i < 10; i++) {
scanf("%d", &arr[i]);
}
// 初始化最小值和最大值及其索引
int min = arr[0], max = arr[0];
int min_index = 0, max_index = 0;
// 找到数组中的最小值和最大值
swap_and_findMinMax(arr, 10, &min_index, &max_index);
// 输出原数组及交换后数组
printf("原始数组:");
for (i = 0; i < 10; i++) {
printf("%d ", arr[i]);
}
printf("\n交换后数组:");
// 使用临时变量交换最小值和最大值
int temp = arr[min_index];
arr[min_index] = arr[max_index];
arr[max_index] = temp;
for (i = 0; i < 10; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
// 定义找到最小值、最大值并交换他们位置的函数
void swap_and_findMinMax(int arr[], int n, int* min_index, int* max_index) {
*min_index = 0; // 假设第一个元素是最小的
*max_index = 0; // 同理,假设第一个元素是最大的
for (int i = 1; i < n; i++) {
if (arr[i] < arr[*min_index]) {
*min_index = i;
} else if (arr[i] > arr[*max_index]) {
*max_index = i;
}
}
}
```
在这个程序中,主函数负责获取用户输入并调用`swap_and_findMinMax`函数。该函数遍历数组,更新最小值和最大值的索引,最后在主函数中进行交换并输出结果。
阅读全文