容: 编写程序,实现如下任务:从键盘输入若干个整数,输入整数的个数小于 100,其值在-100~100 范围内,用-1 作为输入结束的标志。统计每个整数的个数 并从大到小排序,输出排序后的结果。
时间: 2024-12-17 09:31:07 浏览: 7
编写这样的程序,我们可以采用循环结构来逐个读取用户输入的整数,并将其添加到一个列表或映射中,同时记录每个整数出现的次数。当遇到-1作为结束标志时,停止输入并开始处理数据。这里是一个 Python 示例:
```python
def count_and_sort():
numbers = {} # 使用字典存储整数及其计数
while True:
num = input("请输入一个整数(-1结束): ")
if num == '-1':
break
try:
num = int(num)
if -100 <= num <= 100:
if num in numbers:
numbers[num] += 1
else:
numbers[num] = 1
else:
print(f"数字 {num} 超出范围,请重新输入。")
except ValueError:
print(f"{num} 不是有效的整数,请重新输入。")
sorted_numbers = sorted(numbers.items(), key=lambda x: x[1], reverse=True) # 按计数降序排列
for num, count in sorted_numbers:
print(f"数字 {num} 出现了 {count} 次")
count_and_sort()
```
在这个程序中,我们首先创建一个空的字典 `numbers` 来存储整数及其出现次数。然后进入一个无限循环,直到用户输入-1为止。在循环中,我们尝试将输入转换为整数,如果成功并且数值在指定范围内,我们就更新字典;如果不满足条件,我们会给出错误提示。
最后,我们对字典的键值对按照值(出现次数)进行降序排序,并遍历排序后的结果输出。
阅读全文