版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、串及其应用文学研究助手实验三数 据 结 构课程实验报告 姓名:陈东学号:070612146目 录一、【实验目的】3二、【问题描述】3三、【基本要求】3四、【实验环境】3五、【测试数据及其结果】3六、【实验源代码】5一、【实验目的】本次实习的主要目的是熟悉串类型的实现方法和文本模式匹配方法,熟悉一般文学处理软件的设计方法,较复杂问题的分解求精方法。二、【问题描述】文学研究人员需要统计某篇英文小说中某些形容词的出现次数和位置。试写一个是实现这一目标的文字统计系统,称为“文学研究助手”。三、【基本要求】英文小说存于一个文本文件中。待统计的词汇集合要一次输入完毕,即统计工作必须在程序的一次运行之后就全
2、部完成。程序的输出结果是每个词的出现次数和出现位置所在行的行数,格式自行设计。四、【实验环境】Windows7, VC+6.0五、【测试数据及其结果】 以自己的C源程序模拟英文小说,C语言的保留字集作为待统计的词汇集。 六、【实验源代码】#include<stdio.h>#include<stdlib.h>#include<iostream.h>#define MAXSTRLEN 255#define OK 1#define ERROR 0#define OVERFLOW 0typedef char HStringMAXSTRLEN+1;typedef in
3、t status;int nextMAXSTRLEN;char *chars;typedef structchar *ch;int length;SString;char* ToString(char array, int array_size)/字符数组转换成字符串 char *p; int i; p = (char*)malloc(array_size + 1); for(i = 0; i < array_size; i+) *(p+i) = '0' + arrayi; *(p+i) = '0'return p; status StrAssign(SS
4、tring &T,char *chars)/生成一个其值等于串常量chars的串Tint i;int j;char *c;for(i=0,c=chars;*c!='0'+i,+c);if(!i)T.ch=NULL;T.length=0;elseif(!(T.ch=(char *)malloc(i *sizeof(char)exit(OVERFLOW);for(j=0;j<i;j+)T.chj=charsj;T.length=i;return OK;void get_next(SString T,int next)/求next值 int j=1,k=0;next1=
5、0;while(j<T.length)/abaabcacif(k=0|T.chk-1=T.chj-1)+j;+k;nextj=k;elsek=nextk;int Index(SString S,SString T,int pos)/匹配算法kmpint i=pos,j=1;while(i!=S.length+1&&j!=T.length+1)if(j=0|S.chi-1=T.chj-1)j+;i+; elsej=nextj;if(j>T.length-1)return (i-T.length);elsereturn 0;void find(SString keys)
6、/查找单词status StrAssign(SString &T,char *chars);int count=0;SString T;HString text;int i=1,j=0;FILE *fp;if(!(fp=fopen("1.txt","r")printf("Open file error!n");exit(0);get_next(keys,next);while(!feof(fp)fgets(text,MAXSTRLEN,fp);ToString(text, sizeof(text)/sizeof(text0);
7、chars=text;StrAssign(T,chars);j=Index(T,keys,j+1);if(j!=0)cout<<"row="<<i<<",col="<<j<<endl;count+;while(j!=0)j=Index(T,keys,j+1);if(j!=0)cout<<"row="<<i<<",col="<<j<<endl;count+;i+;cout<<"
8、number is:"<<count<<endl;void main()SString S;char words20;int n,i;printf("How many words do you want to find?(n<10)n");scanf("%d",&n);printf("Please input the words you want to find:n");for(i=0;i<n;i+)cin>>words;ToString(words, sizeof(words)/size
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 布绒玩具制作工操作知识评优考核试卷含答案
- 钨钼制品烧结工岗前安全生产基础知识考核试卷含答案
- 劳务经纪人安全实操考核试卷含答案
- 防渗墙工岗前创新思维考核试卷含答案
- 电机车修配工保密知识考核试卷含答案
- 古建琉璃工10S执行考核试卷含答案
- 防锈处理工岗前管理综合考核试卷含答案
- 固体树脂版制版员安全理论模拟考核试卷含答案
- 船闸及升船机运行员岗前安全技能测试考核试卷含答案
- 印染烧毛工改进评优考核试卷含答案
- 造林技术规程样本
- 北京辅警面试题库及答案
- 非静脉曲张上消化道出血的内镜管理指南解读课件
- 2025年国防科工局机关公开遴选公务员笔试模拟题及答案
- 2024-2025学年山东省济南市天桥区八年级(上)期末语文试卷(含答案解析)
- (高清版)DB44∕T 724-2010 《广州市房屋安全鉴定操作技术规程》
- 2025职业健康培训测试题(+答案)
- 供货流程管控方案
- 《实践论》《矛盾论》导读课件
- 老年病康复训练治疗讲课件
- DB4201-T 617-2020 武汉市架空管线容貌管理技术规范
评论
0/150
提交评论