用c++统计四级考试单词出现次数
时间: 2024-09-09 12:05:37 浏览: 39
c++使用vector统计字符串中单词出现的次数
在C++中,统计四级考试单词出现次数通常需要一个步骤,包括读取文件、分割单词并存储到哈希表(如unordered_map)中,最后计算每个单词的出现次数。这里是一个简单的示例:
```cpp
#include <iostream>
#include <fstream>
#include <string>
#include <unordered_map>
std::string remove_punctuation(const std::string& str) {
std::string result;
for (char c : str) {
if (ispunct(c)) continue; // 如果是标点符号跳过
result += tolower(c); // 转换为小写并添加到结果
}
return result;
}
int main() {
std::ifstream file("四级词汇.txt"); // 假设词汇文件名为"四级词汇.txt"
std::unordered_map<std::string, int> word_count;
if (!file.is_open()) {
std::cerr << "无法打开文件!" << std::endl;
return 1;
}
std::string line;
while (getline(file, line)) {
std::string cleaned_word = remove_punctuation(line);
size_t pos = 0;
while ((pos = cleaned_word.find(' ')) != std::string::npos) {
word_count[cleaned_word.substr(0, pos)]++; // 分割单词并计数
cleaned_word.erase(0, pos + 1);
}
word_count[cleaned_word]++; // 计算最后一部分单词的次数
}
file.close();
// 输出单词及其出现次数
for (const auto& pair : word_count) {
std::cout << pair.first << ": " << pair.second << std::endl;
}
阅读全文