c语言先输入数组长度(长度不超过100),然后输入数组元素,先将最大的与第一个元素交换,再将最小的与最后一个元素交换,输出数组。 输入样例:5 12 8 34 1 54 输出样例:54 8 34 12 1
时间: 2023-06-14 16:03:59 浏览: 75
下面是一个实现该功能的 C 语言代码:
```c
#include <stdio.h>
int main() {
int n, i, max_idx, min_idx, temp;
int a[100];
scanf("%d", &n);
for (i = 0; i < n; i++) {
scanf("%d", &a[i]);
}
// 找到最大值和最小值的下标
max_idx = 0;
min_idx = n - 1;
for (i = 1; i < n; i++) {
if (a[i] > a[max_idx]) {
max_idx = i;
}
if (a[i] < a[min_idx]) {
min_idx = i;
}
}
// 将最大值和第一个元素交换
temp = a[0];
a[0] = a[max_idx];
a[max_idx] = temp;
// 如果最小值的下标是 0,那么最小值已经在第一个位置了,不需要再交换
if (min_idx != 0) {
// 将最小值和最后一个元素交换
temp = a[n-1];
a[n-1] = a[min_idx];
a[min_idx] = temp;
}
// 输出数组
for (i = 0; i < n; i++) {
printf("%d ", a[i]);
}
printf("\n");
return 0;
}
```
输入样例:
```
5
12 8 34 1 54
```
输出样例:
```
54 8 34 12 1
```
阅读全文