1

这是我试图解决的问题:

要求用户输入一堆单词,想输入多少就输入多少,直到输入 0。然后,计算每个字母在所有单词中出现的次数,并打印出每个字母的列表以及出现的次数出现。例子:

Enter word> hello
Enter word> lemon
Enter word> goodbye
Enter word> 0
Letter: h appears 1 times
letter: e appears 3 times
...

到目前为止,我必须将所有单词放在一起,并进行比较。问题在于,将所有单词放在一起,输入0后,我无法计算组合字符串中的每个单独字符。我做了一些研究,我读到要执行此操作需要向量,但我不明白如何使用它们。

我已经尝试了一周以使其正确,但无济于事。C++ 与我学过的所有其他语言有点不同(至少对我而言)。

4

1 回答 1

3

您可以使用std::unordered_map, 字符作为键,计数器作为值。对于您读取的每个字符串,只需对其进行迭代并增加与映射中的字符对应的值。

这样,您实际上不需要存储单词。

于 2013-07-31T14:13:43.863 回答