求助 怎么用哈希做这个题 谢谢大佬们TT
本帖最后由 wulaaaaa 于 2019-6-3 18:24 编辑依据所提供的英文字典,编写程序对一个英文文本文件中英文单词进行拼写检查,并将拼写错误的单词或字典中不存在的单词及出现频率与出现位置按(出现)频率序(频率相同时按字典序)输出到指定文件中。
注:
1. 在此单词为仅由字母组成的字符序列。包含大写字母的单词应将大写字母转换为小写字母后进行拼写检查。
2. 在课程下载区提供了一个测试用字典“dictionary.txt”文件(只包含单词,不含其解释)。实际评测时所用字典“dictionary.txt”要比该字典的单词量要大很多。
3. 同一个拼写错误或字典中不存在的单词在文本中可能出现多次,所有出现位置都要输出。单词位置指的是从文件头至该单词头字母的位置(字符个数)(从0开始计数)。
【输入形式】
根据当前目录下字典文件“dictionary.txt”(其中单词已按字典序排序,每行一个单词),打开当前目录下文件“article.txt”,对其进行单词拼写检查。
【输出形式】
程序运行结果将拼写错误或字典中不存在的单词及出现频率与出现位置按(出现)频率序(频率相同时按字典序)输出到指定文件“misspelling.txt”中,该文件中每行输出一个单词、单词出现频率及其出现位置,单词、单词出现频率和其出现位置、位置与位置间由一个空格分隔,每个单词最后一个出现位置后无空格,直接为回车。
【样例输入】
若文件“article.txt”中内容如下:
I will give you some advice about lofe.
Eatt more roughage;
Do more than others expect you to do and do it pains;
Remember what lofe tells you;
do not take to heart every thing you hear.
do not spend all thatt you have.
do not sleep as long as you want.
【样例输出】
程序运行后文件“misspelling.txt”中内容如下:
lofe 2 34 131
eatt 1 41
thatt 1 209
【样例说明】
程序运行结果为按(出现)频率序(频率相同时按字典序)输出拼写错误或字典中不存在的单词及出现位置到指定文件中,其中问题单词“lofe”在文件中出现了两次。注意:该例中输入的article.txt文件内每行文字后都有一空行!
{:10_257:}
页:
[1]