输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。写3个函数:输入10个数;进行处理;输出10个数。用C语言
时间: 2024-10-25 22:14:26 浏览: 118
在C语言中,你可以编写三个函数来完成这个任务:一个用于读取10个整数,一个用于找到并交换最小值和最大值,以及最后一个用于输出处理后的10个数。以下是简单的代码实现:
```c
#include <stdio.h>
// 函数一:读取10个整数
void input_numbers(int arr[]) {
printf("请输入10个整数: ");
for (int i = 0; i < 10; i++) {
scanf("%d", &arr[i]);
}
}
// 函数二:查找并交换最小值与第一个数,最大值与最后一个数
void swapMinMax(int arr[], int size) {
int min = arr[0], max = arr[size - 1];
// 遍历数组找最小值
for (int i = 1; i < size; i++) {
if (arr[i] < min) {
min = arr[i];
}
}
// 遍历数组找最大值
for (int i = 0; i < size; i++) {
if (arr[i] > max && i != size - 1) { // 确保不在最后一轮比较中误判
max = arr[i];
}
}
// 交换
if (min != arr[0]) {
arr[0] = min;
}
if (max != arr[size - 1]) {
arr[size - 1] = max;
}
}
// 函数三:输出10个处理后的整数
void output_numbers(int arr[]) {
printf("处理后的10个数: ");
for (int i = 0; i < 10; i++) {
printf("%d ", arr[i]);
}
printf("\n");
}
int main() {
int numbers[10];
input_numbers(numbers);
swapMinMax(numbers, sizeof(numbers) / sizeof(numbers[0]));
output_numbers(numbers);
return 0;
}
```
阅读全文
相关推荐


















