输入十个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换,写三个函数,①输入十个数②进行处理③输出十个数
时间: 2024-12-29 11:37:02 浏览: 8
要实现这个功能,我们可以编写三个函数分别负责输入、处理和输出。首先,我们需要定义一个结构体来存储这十个整数,然后创建这些函数。这里使用C语言来实现:
```c
#include <stdio.h>
// 结构体来存储10个整数
typedef struct {
int numbers[10];
} TenIntegers;
// 函数1:输入十个数
void input_numbers(TenIntegers *arr) {
for (int i = 0; i < 10; i++) {
printf("请输入第 %d 个数: ", i + 1);
scanf("%d", &arr->numbers[i]);
}
}
// 函数2:找到并交换最小值和最大值
void swap_min_max(TenIntegers *arr) {
int min_index = 0, max_index = 9;
// 找到最小值的索引
for (int i = 1; i < 10; i++) {
if (arr->numbers[min_index] > arr->numbers[i]) {
min_index = i;
}
}
// 找到最大值的索引
for (int i = 8; i >= 0; i--) {
if (arr->numbers[max_index] < arr->numbers[i]) {
max_index = i;
}
}
// 如果最小值不是第一个数,就交换它们
if (min_index != 0) {
int temp = arr->numbers[0];
arr->numbers[0] = arr->numbers[min_index];
arr->numbers[min_index] = temp;
}
// 如果最大值不是最后一个数,就交换它们
if (max_index != 9) {
int temp = arr->numbers[9];
arr->numbers[9] = arr->numbers[max_index];
arr->numbers[max_index] = temp;
}
}
// 函数3:输出十个数
void print_numbers(TenIntegers *arr) {
for (int i = 0; i < 10; i++) {
printf("%d ", arr->numbers[i]);
}
printf("\n");
}
int main() {
TenIntegers ten_ints;
// 输入数据
input_numbers(&ten_ints);
// 进行处理
swap_min_max(&ten_ints);
// 输出结果
print_numbers(&ten_ints);
return 0;
}
```
现在,你可以运行这段代码,按照提示输入十个整数,程序会自动执行交换操作后输出处理后的数字。
阅读全文