输入若干行。是若干个用空格间隔的单词(单词是连续的字母数字串)。其中有重复的单词。 输出若干行。每行两列,第一列是输入中出现过的单词,第二列是该单词出现的次数。要求输出次序符合第一列的增序次序。
时间: 2024-02-06 15:10:07 浏览: 28
可以使用 Python 中的字典来实现单词计数。遍历输入的每个单词,如果单词已经在字典中,则将该单词对应的计数器加一;否则,在字典中添加该单词,并将计数器初始化为 1。最后,按照字典键的升序输出每个单词及其计数器的值。
以下是一个 Python 代码示例:
```python
word_counts = {}
while True:
try:
words = input().split()
for word in words:
if word in word_counts:
word_counts[word] += 1
else:
word_counts[word] = 1
except EOFError:
break
for word in sorted(word_counts.keys()):
print(word, word_counts[word])
```
这个程序通过一个无限循环来读取输入,直到遇到文件结束符号(EOF)。输入的每一行被分割成单词,并逐个遍历。如果单词已经在字典中,则将其计数器加一;否则,将其添加到字典中,并将计数器初始化为 1。
最后,使用 `sorted` 函数按照字典键的升序对单词进行排序,并逐个输出单词及其计数器的值。
相关问题
输入一行字符,统计其中有多少个单词,单词之间是用空格分隔开
以下是统计一行字符中单词个数的Python代码:
```python
line = input("请输入一行字符,单词之间用一个空格分隔开:")
num = len(line.split())
print("该行字符有%d个单词" % num)
```
代码解释:
1. 首先使用`input()`函数获取用户输入的一行字符。
2. 然后使用`split()`函数将这一行字符按照空格分割成一个个单词,并返回一个列表。
3. 使用`len()`函数获取这个列表的长度,即单词的个数。
4. 最后使用`print()`函数输出单词的个数。
写一个输入若干行每行若干个英文单词然后去除重复后逐个输出的c++代码
以下是C++代码示例:
```c++
#include <iostream>
#include <string>
#include <unordered_set>
using namespace std;
int main() {
int n;
cin >> n;
unordered_set<string> unique_words;
string line;
getline(cin, line); // consume the newline character after reading n
for (int i = 0; i < n; i++) {
getline(cin, line);
string word;
for (int j = 0; j < line.length(); j++) {
if (line[j] == ' ') {
unique_words.insert(word);
word = "";
} else {
word += line[j];
}
}
unique_words.insert(word);
}
for (const auto& word : unique_words) {
cout << word << endl;
}
return 0;
}
```
代码执行时,会等待用户从键盘输入一个整数 `n`,表示接下来有 `n` 行包含若干个英文单词的文本。程序会将每行文本按照空格分隔成若干个单词,并去除重复后,逐个输出每个单词。输出结果的顺序是随机的,因为 `unordered_set` 是无序集合。
解释:我们首先使用 `cin` 读取一个整数 `n`,表示接下来有 `n` 行文本需要处理。然后,我们创建了一个名为 `unique_words` 的无序集合,用于存储文本中的唯一单词。接下来,我们使用 `for` 循环逐行读取文本。使用 `getline()` 函数从标准输入流(键盘)读取一行字符串,并将其存储到 `line` 中。然后,我们使用嵌套的 `for` 循环逐个读取 `line` 中的字符,如果是空格,则将当前单词插入到集合中,并将 `word` 重置为空字符串;否则,我们将当前字符添加到 `word` 中。最后,我们还需要插入最后一个单词,因为最后一个单词后面没有空格。最后,我们使用 `for` 循环逐个输出集合中的每个单词。
相关推荐
![cpp](https://img-home.csdnimg.cn/images/20210720083646.png)
![cpp](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)