在C++中查找字符串中的重复单词时出现输出错误可能是由于以下原因导致的:
以下是一个示例代码,用于在C++中查找字符串中的重复单词并输出:
#include <iostream>
#include <sstream>
#include <unordered_map>
#include <vector>
void findDuplicateWords(const std::string& str) {
std::stringstream ss(str);
std::string word;
std::unordered_map<std::string, int> wordCount;
// 提取单词并统计出现次数
while (ss >> word) {
++wordCount[word];
}
// 输出重复单词及其出现次数
for (const auto& pair : wordCount) {
if (pair.second > 1) {
std::cout << "重复单词: " << pair.first << ",出现次数: " << pair.second << std::endl;
}
}
}
int main() {
std::string str = "This is a test string. This is a test string with duplicate words.";
findDuplicateWords(str);
return 0;
}
该示例代码使用字符串流(stringstream)将字符串分割成单词,并使用unordered_map存储单词及其出现的次数。最后遍历unordered_map,输出重复的单词及其出现的次数。请注意,这只是一个简单的示例,实际应用中可能需要考虑更多的情况和优化。
领取专属 10元无门槛券
手把手带您无忧上云