使用C++编写删除用户中重复的词汇
时间: 2024-09-28 07:16:28 浏览: 34
在C++中删除用户输入字符串中的重复词汇,你可以采用以下步骤:
1. **创建一个容器**:首先,你需要选择一个数据结构来存储单词,通常可以使用`std::unordered_set`或`std::vector<std::pair>`,因为它们不允许重复元素。
```cpp
#include <iostream>
#include <vector>
#include <string>
#include <unordered_set>
std::unordered_set<std::string> unique_words;
```
2. **获取用户输入**:使用循环读取用户的输入,将其分割成单词并检查是否已经在集合中。
```cpp
std::string input_line;
while (std::getline(std::cin, input_line)) {
std::istringstream iss(input_line);
std::string word;
while (iss >> word) {
unique_words.insert(word);
}
}
```
3. **输出结果**:最后遍历容器并打印唯一出现的单词。
```cpp
for (const auto& word : unique_words) {
std::cout << word << " ";
}
```
完整的示例代码如下:
```cpp
#include <iostream>
#include <vector>
#include <string>
#include <unordered_set>
#include <sstream>
int main() {
std::unordered_set<std::string> unique_words;
std::string input_line;
while (std::getline(std::cin, input_line)) {
std::istringstream iss(input_line);
std::string word;
while (iss >> word) {
unique_words.insert(word);
}
}
for (const auto& word : unique_words) {
std::cout << word << " ";
}
return 0;
}
```
阅读全文