输入n个正整数(1<n<=10),然后按照每个数的数字和(取该数的各位数字相加)的大小,从大到小输出这n个数(如果其中有几个数的数字和相同,则这几个数按其输入时的先后顺序输出) 输入格式: 先输入n; 再输入n个正整数 输出格式: 按数字和的大小从大到小输出这n个数,数与数之间用“,”进行分隔。
时间: 2024-02-01 18:16:17 浏览: 175
c代码-9.键盘输入一个三位数的正整数,其个位与百位相加若等于十位上的数字则输出"Yes",否则输出"No"。例如,输入"176",则输出"Yes"。输入"258",则输出"No"
以下是 Python 代码实现:
```python
n = int(input())
nums = list(map(int, input().split()))
# 计算每个数的数字和
digit_sums = [sum(map(int, str(num))) for num in nums]
# 构造 (数字和, 输入顺序, 数字) 的三元组,并按照数字和从大到小排序
triplets = [(digit_sums[i], i, nums[i]) for i in range(n)]
triplets.sort(reverse=True)
# 输出排序后的数字
result = [str(triplets[i][2]) for i in range(n)]
print(','.join(result))
```
示例输入:
```
5
123 45 6 789 1234
```
示例输出:
```
789,45,1234,123,6
```
阅读全文