输入一个正整数n(1<n<=10),再输入n个整数,将最小值与第一个数交换,最大值与最后一个数交换,最后输出交换后的n个数.用C语言
时间: 2023-06-20 19:10:17 浏览: 188
以下是用 C 语言实现的代码:
```c
#include <stdio.h>
int main() {
int n, a[10], i, min, max, min_idx, max_idx, temp;
// 输入n和n个整数
printf("请输入n和n个整数:\n");
scanf("%d", &n);
for (i = 0; i < n; i++) {
scanf("%d", &a[i]);
}
// 找出最小值和最大值的下标
min = max = a[0];
min_idx = max_idx = 0;
for (i = 1; i < n; i++) {
if (a[i] < min) {
min = a[i];
min_idx = i;
}
if (a[i] > max) {
max = a[i];
max_idx = i;
}
}
// 将最小值与第一个数交换,最大值与最后一个数交换
temp = a[0];
a[0] = min;
a[min_idx] = temp;
temp = a[n-1];
a[n-1] = max;
a[max_idx] = temp;
// 输出交换后的n个数
printf("交换后的n个数为:\n");
for (i = 0; i < n; i++) {
printf("%d ", a[i]);
}
printf("\n");
return 0;
}
```
这里假设输入的n不超过10,可以根据实际情况修改数组大小。
阅读全文