写一个输入未知行数每行若干个汉字的文本,去除重复汉字后将剩下的逐个输出
时间: 2024-03-18 14:40:39 浏览: 68
可以使用Python来实现这个功能。以下是一个示例代码:
```python
# 定义一个集合用于存储出现过的汉字
unique_chars = set()
# 循环读取每一行输入,并逐个处理其中的汉字
while True:
try:
line = input() # 读取一行输入
except EOFError:
break # 如果读取到 EOF,则退出循环
# 遍历当前行中的每一个汉字
for char in line:
if char.isalpha() and char.isalpha(): # 判断当前字符是否为汉字
if char not in unique_chars: # 如果当前汉字没有出现过,则输出并加入集合
print(char)
unique_chars.add(char)
```
这个代码会不断从标准输入中读取输入,直到遇到 EOF(比如输入 Ctrl-D)为止。对于每一行输入,它会遍历其中的每一个汉字,并判断是否出现过。如果没有出现过,则输出并加入集合中。这样可以保证输出的汉字都是不重复的。
相关问题
写一个输入文本中的若干英文单词然后去除重复后逐个输出的c++代码
以下是C++代码示例:
```c++
#include <iostream>
#include <string>
#include <unordered_set>
using namespace std;
int main() {
string text;
getline(cin, text);
unordered_set<string> unique_words;
string word;
for (int i = 0; i < text.length(); i++) {
if (text[i] == ' ') {
unique_words.insert(word);
word = "";
} else {
word += text[i];
}
}
unique_words.insert(word);
for (const auto& word : unique_words) {
cout << word << endl;
}
return 0;
}
```
代码执行时,会等待用户从键盘输入一行英文文本(可以包含空格)。程序会将输入的文本按照空格分隔成若干个单词,并去除重复后,逐个输出每个单词。输出结果的顺序是随机的,因为 `unordered_set` 是无序集合。
解释:我们首先创建一个空字符串 `text`,用于存储用户输入的文本。使用 `getline()` 函数从标准输入流(键盘)读取一行字符串,并将其存储到 `text` 中。然后,我们创建了一个名为 `unique_words` 的无序集合,用于存储文本中的唯一单词。使用 `for` 循环逐个读取 `text` 中的字符,如果是空格,则将当前单词插入到集合中,并将 `word` 重置为空字符串;否则,我们将当前字符添加到 `word` 中。最后,我们还需要插入最后一个单词,因为最后一个单词后面没有空格。最后,我们使用 `for` 循环逐个输出集合中的每个单词。
写一个将文本中的英文单词去除重复后逐个输出的c++代码
以下是C++代码示例:
```c++
#include <iostream>
#include <string>
#include <sstream>
#include <unordered_set>
using namespace std;
int main() {
string text = "the quick brown fox jumps over the lazy dog";
istringstream iss(text);
unordered_set<string> unique_words;
string word;
while (iss >> word) {
unique_words.insert(word);
}
for (const auto& word : unique_words) {
cout << word << endl;
}
return 0;
}
```
输出结果为:
```
over
brown
fox
dog
jumps
lazy
quick
the
```
解释:我们首先将文本字符串存储到名为 `text` 的变量中,然后使用 `istringstream` 类将其转换为一个字符串流,以便我们可以逐个处理其中的单词。我们创建了一个名为 `unique_words` 的无序集合,用于存储文本中的唯一单词。然后,我们使用 `>>` 运算符从字符串流中提取单词,并将其插入到集合中。最后,我们使用 `for` 循环逐个输出集合中的每个单词。
阅读全文