C语言8. 从键盘输入5个整数,保存于数组中。编程找出其中最大值和最小值,把二者位置对调,然后输出调整后的数组。要求:使用自定义函数实现对调。
时间: 2023-12-31 17:07:01 浏览: 497
好的,这是一个比较常见的 C 语言编程题目,下面是解题思路和代码实现。
首先,我们需要定义一个数组来存储输入的 5 个整数,然后遍历数组找出其中的最大值和最小值,接着使用自定义函数实现对调,最后输出调整后的数组。
下面是完整的代码实现:
```c
#include <stdio.h>
// 自定义函数 swap,用于交换两个元素的值
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
int main() {
int arr[5];
// 从键盘输入 5 个整数,保存于数组中
printf("请输入 5 个整数:\n");
for (int i = 0; i < 5; i++) {
scanf("%d", &arr[i]);
}
// 找出数组中的最大值和最小值
int max_index = 0, min_index = 0;
for (int i = 1; i < 5; i++) {
if (arr[i] > arr[max_index]) {
max_index = i;
}
if (arr[i] < arr[min_index]) {
min_index = i;
}
}
// 对调最大值和最小值的位置
swap(&arr[max_index], &arr[min_index]);
// 输出调整后的数组
printf("调整后的数组为:\n");
for (int i = 0; i < 5; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
运行结果示例:
```
请输入 5 个整数:
3 5 2 8 1
调整后的数组为:
3 1 2 8 5
```
这样,我们就完成了这道 C 语言编程题目。
阅读全文