分析一个文本文件(英文文章)中各个词出现的频率,并且把频率最高的10个词打印出来
第一次这样交作业,好不习惯,废话不多说,上代码及整个分析编写过程。
这次的程序大约花费了不到4个小时(2课时+一晚上),整体的设计思想是分三部分:从文件读入并分析收集单词,统计单词的频率,排序输出。下面是具体实现过程:
-
建立一个哈希表结构体Hash_table和一个单词缓存区buffer并分别对其做初始化
typedef struct Hash{ int count; char str[20]; }Hash_table;
初始化:
void initial_buffer () { for (tail_prob = 0; tail_prob < MAXWORD ;tail_prob++) { buffer[tail_prob++] = '