【求检错】C程:读取一个英文文本文件,对单词进行统计,并按照出现次数从低到高排序并输出...

2025-03-05 10:08:53
推荐回答(1个)
回答1:

你的代码逻辑有点乱,我初步看了,至少在第37-39行是有问题的,这3行的意思是:如果读取的字符不是字母就继续读,可是如果到了文件末尾,你的代码也不会停下来,因为你没有调用feof(in)测试是否到达了文件末尾。

这种文本统计的问题,用C做实在费事。我用C++做过,也很费事。后来用Perl做过,只需要一行代码就够了。

perl -E "for(<>){$n{$_}++ for /(\w+)/g} say $n{$_}, ' ',$_ for sort keys %n" file.txt


你可以安装perl后,试试。

有C的基础,建议你学学Perl或其他动态语言,对日常工作帮助会很大。

祝你成功!