先将输入的一系列整数中的最小值与第一个数交换,然后将最大值与最后一个数交换,最后输出交换后的序列,用c语言实现
时间: 2024-11-21 07:29:03 浏览: 2
java 输入一个数字组成的数组(输出该数组的最大值和最小值)
C语言实现如下:
```c
#include <stdio.h>
int main() {
int arr[] = {5, 8, 2, 5, 1, 4}, n = sizeof(arr) / sizeof(arr[0]), min, max;
// 找到数组中的最小值和最大值
min = max = arr[0];
for (int i = 1; i < n; i++) {
if (arr[i] < min) {
min = arr[i];
} else if (arr[i] > max) {
max = arr[i];
}
}
// 交换最小值和第一个数
arr[0] = min;
// 交换最大值和最后一个数
arr[n - 1] = max;
// 输出交换后的序列
printf("%d ", arr[0]); // 输出第一个数(现在是min)
for (int i = 1; i < n - 1; i++) {
printf("%d ", arr[i]); // 输出中间的数
}
printf("%d\n", arr[n - 1]); // 输出最后一个数(现在是max)
return 0;
}
```
当你运行这段代码,给定输入样例`5 8 2 5 1 4`,输出将会是`1 2 5 4 8`。
阅读全文