如何在列表中找到单词数

How can I find the number of words in a list?

本文关键字:单词数 列表      更新时间:2023-10-16

嘿伙计们,我正在做这个作业,我需要一些帮助来解决这个问题。我得到了一个包含数千个单词的文本文档,我必须找到每个可能长度的单词数并打印表格中有多少个单词。这就是我到目前为止得到的

inStream.open("EnglishWords.txt", ifstream::in);
string word; 
//int number of letters;
//int number of words;
while (inStream) {
    inStream >> word;
    if (word.length() == //Something..)
        //print << number of letters << number of words;
}

所以我基本上什么都没有。你们有人能在这里帮我吗?或者给我指导我应该如何开始?

您可以创建一个存储两个intstd::map并执行以下操作:

std::map<int, int> map;
while (inStream) {
    map[word.length()]++; // increment number of words for given length
}

然后要打印每个长度的所有单词,您可以制作一个for循环:

for (auto i = 0; i < MAX_LENGTH; ++i) {
    std::cout << "words of length " << i << ": " << map[i] << 'n';
}

我还没有测试过,但这只是一个想法。

P.S. 编辑感谢 Ben 澄清了问题的目的。