现代软件工程个人作业——词频统计(字符数、行数、单词数、高频单词和词组)
现代软件工程课的第一次个人作业博主做的相当差劲,让我清楚地意识到自己与他人的差距。 通过这篇博客博主将展示自己是如何走上事倍功半的歧路,认真分析错误原因,希望大家不要重蹈我的覆辙。 首先让我们来看一下 作业要求 : 详细要求在邓宏平老师的博客: 第一次个人作业——词频统计 这次词频统计的主要功能有: 1. 统计文件的字符数(只需要统计Ascii码,汉字不用考虑,换行符不用考虑,'\0'不用考虑)( ascii码大小在[32,126]之间 ) 2. 统计文件的单词总数 3. 统计文件的总行数(任何字符构成的行,都需要统计)(不要只看换行符的数量,要小心最后一行没有换行符的情形)(空行算一行) 4. 统计文件中各单词的出现次数, 对给定文件夹及其递归子文件夹下的所有文件进行统计 6. 统计两个单词(词组)在一起的频率,输出频率最高的前10个。 注意: a) 空格,水平制表符,换行符,均算字符 b) 单词的定义: 至少以4个英文字母开头,跟上字母数字符号,单词以分隔符分割,不区分大小写。 英文字母:A-Z,a-z 字母数字符号:A-Z,a-z,0-9 分割符:空格,非字母数字符号 例如: ”file123”是一个单词,”123file”不是一个单词。file,File和FILE是同一个单词 。 如果两个单词只有最后的数字结尾不同,则认为是同一个单词,例如,windows