【发布时间】:2013-07-31 14:10:29
【问题描述】:
这是我试图解决的问题:
要求用户输入一堆单词,他们想输入多少就输入多少,直到他们输入一个 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++ 与我学过的所有其他语言都有些不同(至少对我而言)。
【问题讨论】:
-
一些想法:为 256 个可能的字符(我假设 ASCII)维护一个大小为 256 的数组/向量,每次当你读一个新单词时,你迭代那个单词,增加计数器对应的字符。
-
他应该考虑使用关联数组。在这里,有序映射或无序映射会比向量/数组更好。