求教~英语文章单词频度统计
对于用户给定的一篇英文文章(以文件txt形式提供),统计其中每个不同单词出现的次数(忽略大小写区别;忽略所有的非英文字母字符,即可以把所有的非字母字符当作空格看待,对于连字符'-',可以把连接的两个部分看成是一个单词,输出时也要输出‘-’,实际上就是把‘-’当成英文字母看待即可),把所有的英文单词按字典顺序输出,并输出每个单词出现的次数(一行上输出一个单词及出现次数)。输出结果应为文件。
提示:
(1)使用fopen打开文件时第二个参数最好使用"rt",即以文本文件方式打开并读取。
(2)如果使用fscanf或者fgetc读取文件,遇到文件末尾时返回值为EOF;使用fgets读取,则当遇到文件末尾时返回NULL。
可否请大神们按照此要求,给一个可以再VC和DEVc++上通过的源代码
[解决办法]
如果你不是很追求程序效率的话,可以用结构体建立数组来实现。如果对效率有要求的话,那可以考虑用字典树实现。字典树可以参考http://blog.csdn.net/furney/article/details/7099438希望对你有帮助。
[解决办法]
C++ primer 里面有个例子,使用容器统计单词频度次数的,楼主可以借鉴一下。
[解决办法]
有点复杂了
[解决办法]
其实也可以使用链表,这个链表可以用数组实现。
[解决办法]
如果需要,可以把代码给你。
[解决办法]
用map<string,int>
read
map[str]++
read
map.insert
map[str]++
[解决办法]
CPP Primer 用map进行统计,挺简单的