编写程序,有一个包含奇数个项的整数序列,按照以下规则进行排序: 最大值排在中间,最小值排在最左,中值排在最右,其它值清为0。 输入为2行:第一行n表示要输入的是整数序列的项数,n是奇数。第二行输入的是n个整数序列。 输出:排序后的数据,数据之间用空格分隔,最后一个数据后面没有空格。 样例1: 输入 3 66 10 30 输出 10 66 30
时间: 2024-03-26 09:35:18 浏览: 314
一个控制台应用程序从键盘输入你要排序的数的个数n ,然后输入要排序的n个数,按由小到大的顺序输出
5星 · 资源好评率100%
好的,这是一个比较简单的排序问题。我会用 Python 编写程序来解决这个问题:
```python
n = int(input()) # 读取整数序列的项数
nums = list(map(int, input().split())) # 读取整数序列
# 寻找最大值、最小值和中值
max_num = max(nums)
min_num = min(nums)
mid_num = sorted(nums)[n//2]
# 对序列进行排序
sorted_nums = [0] * n
sorted_nums[0] = min_num
sorted_nums[n//2] = mid_num
sorted_nums[-1] = max_num
# 输出排序后的序列
print(' '.join(map(str, sorted_nums)))
```
这个程序首先读入整数序列的项数 `n` 和整数序列 `nums`,然后用 `max()`、`min()` 和 `sorted()` 函数分别寻找最大值、最小值和中值。
接着,用一个长度为 `n` 的列表 `sorted_nums` 来保存排序后的序列。首先将最小值放在第一个位置(下标为 0),将中值放在最后一个位置(下标为 `n-1`),将其它位置的值清零,然后将最大值放在中间位置(下标为 `n//2`)。
最后,用 `' '.join(map(str, sorted_nums))` 将排序后的序列转换成字符串,并输出到控制台上。
阅读全文