先输入数组长度(长度不超过100),然后输入数组元素,先将最大的与第一个元素交换,再将最小的与最后一个元素交换,输出数组。 输入样例:5 12 8 34 1 54 输出样例:54 8 34 12 1 用c语言编写
时间: 2023-06-11 11:08:15 浏览: 92
以下是用 C 语言编写的代码实现:
```c
#include <stdio.h>
int main() {
int n, max, min, temp;
int a[100];
// 输入数组长度
printf("请输入数组长度:");
scanf("%d", &n);
// 输入数组元素
printf("请输入数组元素:");
for (int i = 0; i < n; i++) {
scanf("%d", &a[i]);
}
// 找到最大值和最小值的下标
max = 0;
min = n - 1;
for (int i = 1; i < n; i++) {
if (a[i] > a[max]) {
max = i;
}
if (a[i] < a[min]) {
min = i;
}
}
// 将最大值与第一个元素交换
temp = a[0];
a[0] = a[max];
a[max] = temp;
// 如果最小值在第一个位置,需要重新找到最小值的下标
if (min == 0) {
min = max;
}
// 将最小值与最后一个元素交换
temp = a[n - 1];
a[n - 1] = a[min];
a[min] = temp;
// 输出数组
printf("输出数组:");
for (int i = 0; i < n; i++) {
printf("%d ", a[i]);
}
printf("\n");
return 0;
}
```
输入样例:
```
请输入数组长度:5
请输入数组元素:12 8 34 1 54
```
输出样例:
```
输出数组:54 8 34 12 1
```
阅读全文