版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 重症水肿原因处理策略2026
- 山东东营市2025-2026学年高二下学期期末考试化学试题(含答案)
- 安装专业专项试题及答案梳理
- 计划写作试题及答案解析
- 大一刑法试题及答案
- 2026年js心理测试题及答案
- 2026年南极北极纬度测试题及答案
- 2026年主体结构专项检测试题及答案
- 2026年美国微表情测试题及答案
- 2026年高血压心态测试题及答案
- 2026中国再生资源行业人才需求特征与培养机制研究报告
- 人教版八年级上册道德与法治知识点总结
- 2025版糖尿病视网膜病变诊断与护理指南
- GB/T 8325-2026塑料聚合物分散体和橡胶胶乳pH值的测定
- 2026年超星尔雅人工智能与信息社会通关试卷及参考答案详解(研优卷)
- DB13T 2915-2025-地理标志产品质量要求+鹿泉香椿
- 二次供水培训试题及答案
- 中国口腔医疗连锁机构扩张战略与单店盈利模型分析报告
- 2026年CISO考试题及答案解析
- 口腔科医疗废物培训课件
- (完整版)煤矿复工复产前专项安全风险辨识报告
评论
0/150
提交评论