这是我试图解决的问题:
让用户输入一堆单词,想输入多少就输入多少,直到输入 0。之后 也就是说,计算每个字母在所有单词中出现的次数,并打印出每个字母及其出现次数的列表。示例:
Enter word> hello
Enter word> lemon
Enter word> goodbye
Enter word> 0
Letter: h appears 1 times
letter: e appears 3 times
...
至此我不得不把所有的词放在一起,并进行了比较。问题在于,将所有单词放在一起并输入 0 后,我无法计算组合字符串中的每个字符。我做了一些研究,我读到要执行此操作需要 vector ,但我不明白如何使用它们。
我已经尝试了一个星期才把它弄好,但无济于事。 C++ 与我学过的所有其他语言有点不同(至少对我而言)。
最佳答案
您可以使用 std::unordered_map
,以字符为键,以计数器为值。对于您读取的每个字符串,只需对其进行迭代并增加对应于映射中字符的值。
这样你实际上不需要存储单词。
关于c++ - 在 C++ 控制台应用程序中计算单词中的字符数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17972768/