用C语言·写一串代码:输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。
时间: 2024-12-22 21:32:41 浏览: 6
在C语言中,你可以通过以下代码实现这一功能。这里我们先假设已经有一个数组存储了10个整数,并使用标准库函数获取用户输入:
```c
#include <stdio.h>
#include <stdlib.h> // 包含malloc用于动态内存分配
#define MAX_NUM 10
// 定义数组
int numbers[MAX_NUM];
void swap_min_max(int* arr) {
if (arr[0] > arr[MAX_NUM - 1]) { // 确保第一个元素不是最大值
int min_index = 0; // 初始化最小值索引
for (int i = 1; i < MAX_NUM; i++) {
if (arr[i] < arr[min_index]) {
min_index = i;
}
}
int max_index = MAX_NUM - 1; // 初始化最大值索引
// 交换最小值和第一个数
int temp = arr[0];
arr[0] = arr[min_index];
arr[min_index] = temp;
// 交换最大值和最后一个数
temp = arr[max_index];
arr[max_index] = arr[MAX_NUM - 1] = temp;
}
}
int main() {
for (int i = 0; i < MAX_NUM; i++) {
printf("请输入第%d个整数: ", i + 1);
scanf("%d", &numbers[i]);
}
swap_min_max(numbers); // 调用函数进行交换
printf("\n交换后的数组: \n");
for (int i = 0; i < MAX_NUM; i++) {
printf("%d ", numbers[i]);
}
return 0;
}
```
这段代码首先让用户输入10个整数,然后调用`swap_min_max`函数将最小值和第一个数、最大值和最后一个数对换。最后,它打印出处理后的数组。
阅读全文