用C语言编程一下问题:本题要求编写程序,先将输入的一系列整数中的最小值与第一个数交换,然后将最大值与最后一个数交换,最后输出交换后的序列。 注意:题目保证最大和最小值都是唯一的。
时间: 2023-10-12 20:10:40 浏览: 99
c代码-输入三个整数x,y,z,请把这三个数由小到大输出。
5星 · 资源好评率100%
以下是用C语言编程实现本题的代码:
```c
#include <stdio.h>
int main()
{
int n;
scanf("%d", &n);
int a[n];
for(int i = 0; i < n; i++) {
scanf("%d", &a[i]);
}
// 找到最小值
int min = a[0], min_index = 0;
for(int i = 1; i < n; i++) {
if(a[i] < min) {
min = a[i];
min_index = i;
}
}
// 将最小值和第一个数交换
int temp = a[0];
a[0] = min;
a[min_index] = temp;
// 找到最大值
int max = a[0], max_index = 0;
for(int i = 1; i < n; i++) {
if(a[i] > max) {
max = a[i];
max_index = i;
}
}
// 将最大值和最后一个数交换
temp = a[n-1];
a[n-1] = max;
a[max_index] = temp;
// 输出结果
for(int i = 0; i < n; i++) {
printf("%d ", a[i]);
}
return 0;
}
```
程序首先读入一个整数n,表示接下来要输入的整数个数。然后使用一个数组a存储读入的整数序列。
程序接着使用两个循环分别找到最小值和最大值,并记录它们的下标。然后将最小值和第一个数交换,将最大值和最后一个数交换。
最后程序输出交换后的整数序列。
阅读全文