C语言中 输入长度为10的数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。
时间: 2024-10-27 16:08:51 浏览: 26
在C语言中,你可以通过以下步骤来实现这个功能:
1. 首先,你需要定义一个长度为10的整型数组,并从用户那里获取输入。
```c
#include <stdio.h>
int main() {
int arr[10];
for (int i = 0; i < 10; i++) {
printf("请输入第 %d 个元素:", i + 1);
scanf("%d", &arr[i]);
}
```
2. 接着,找到数组中的最大值和最小值。可以使用两个变量分别存储当前找到的最大值和最小值,以及它们对应的索引。遍历整个数组进行查找。
```c
int max_val = arr[0], min_val = arr[0], max_index = 0, min_index = 0;
for (int i = 1; i < 10; i++) {
if (arr[i] > max_val) {
max_val = arr[i];
max_index = i;
}
if (arr[i] < min_val) {
min_val = arr[i];
min_index = i;
}
}
```
3. 最后,将最大值与第一个元素、最小值与最后一个元素进行交换。
```c
// 如果最大值不是第一个元素,就交换
if (max_index != 0) {
int temp = arr[0];
arr[0] = max_val;
arr[max_index] = temp;
}
// 如果最小值不是最后一个元素,就交换
if (min_index != 9) {
int temp = arr[9];
arr[9] = min_val;
arr[min_index] = temp;
}
4. 输出修改后的数组。
```
for (int i = 0; i < 10; i++) {
printf("交换后,第 %d 个元素为:%d\n", i + 1, arr[i]);
}
return 0;
}
阅读全文