精品文档---下载后可任意编辑2024 文学讨论助手+数据结构程序设计 文学讨论助手+数据结构程序设计 问题描述:文字讨论人员需要统计某篇英文小说中某些特定单词的出现次数和位置,试写出一个实现这一目标的文字统计系统
这称为“文学讨论助手”
算法输入:文本文件和词集
算法输出:单词出现的次数,出现位置所在行的行号(同一行出现两次的只输出一个行号)
Input 输入第一行为小说的文件名(包含路径的文本文件名); 第二行为一个正整数 n,表示要查找单词的个数(nOutput 输出共有 n 块,每块中第一行为查找的单词,从第二行开始为找到的各行的行号和列号,每个行号和列号占一行,若在同一行上出现多次,则只输出一个行号和多个列号并占一行,输出顺序按行号从小到大顺序排列
若没有找到则块内只输出第一行的单词即可Sample Input e:\ 4 1110 ababc 12345 end Sample Output 1110 row=1,col=10 row=2,col=3,11 ababc row=1,col=19 12345 end row=3,col=1 文件内容为: abcdefg 11110 ababababc aw11100011111000abc end 以下是我写的程序,实现了问题的要求,愿与有共同兴趣的人一起探讨
#include #include #define MAXSTRLEN 255 // 最 大 串 长 typedef char SString[MAXSTRLEN+1]; //串的定长顺序存储表示,0 号单元存放串的长度 int next[MAXSTRLEN]; //KMP 算法中用到的next void get_next(SString T,int next[]) //求 next 值 { int j=1,k=0; next[1]=0; while(