第一行输入正整数n,表示输入的整数个数,2<=n<=100。 第二行是n个整数。 输出n个整数的从小到大、绝对值从大到小的两种排序结果。
时间: 2024-05-07 19:23:21 浏览: 169
我们第一行包括两个整数n,k(1<=n<=100,k<=6e5),表示有n个数字,目标和为k 第二行输入n个整数(c1 c2
以下是 Python3 代码实现:
```python
n = int(input())
nums = list(map(int, input().split()))
# 从小到大排序
asc_nums = sorted(nums)
print(" ".join(map(str, asc_nums)))
# 绝对值从大到小排序
abs_desc_nums = sorted(nums, key=abs, reverse=True)
print(" ".join(map(str, abs_desc_nums)))
```
首先,我们读入输入的整数个数 n 和 n 个整数,将这些整数存储在列表 nums 中。然后,我们使用内置函数 sorted 对 nums 进行从小到大排序,并将结果存储在列表 asc_nums 中,再使用 join 方法将其转换为字符串并输出。
接下来,我们针对绝对值大小进行排序。由于 Python 中没有提供直接按照绝对值排序的函数,我们需要使用 sorted 的 key 参数,将其设为 abs 函数,使其以绝对值大小作为排序依据。同时,我们还需要将 reverse 参数设为 True,以确保结果是从大到小排序的。最后,我们同样使用 join 方法将其转换为字符串并输出。
阅读全文