编写一个程序读取未指定个数的字符串(以空格隔开),找出出现次数最多的字符串及其出现次数。 如果出现次数最多的有多个字符串,按照字符串升序输出所有出现次数最多的字符串。 例如输入abc bcd abc bcd bbb,那么字符串"abc"和"bcd"出现的次数最多,2次,先输出abc 2,再输出bcd 2。
时间: 2024-02-22 13:58:54 浏览: 41
c#输出10个数的最大值、最小值、平均值和总和。.rar
好的,我会尝试回答你的问题。
以下是 Python 代码实现:
```python
from collections import Counter
# 读取字符串
s = input().split()
# 统计字符串出现次数
counter = Counter(s)
# 找出出现次数最多的字符串及其出现次数
most_common = counter.most_common()
max_count = most_common[0][1]
result = [(k, v) for k, v in most_common if v == max_count]
# 按字符串升序输出所有出现次数最多的字符串
result.sort()
# 输出结果
for k, v in result:
print(k, v)
```
程序首先读取输入的字符串,并使用 `collections` 模块中的 `Counter` 类统计每个字符串出现的次数。然后,找出出现次数最多的字符串及其出现次数,以及所有出现次数最多的字符串。最后,按字符串升序输出所有出现次数最多的字符串和它们的出现次数。
阅读全文