c语言文学研究助手报告,数据结构文学研究助手.doc
数据结构文学研究助手
目 录
一、【实验目的】3
二、【问题描述】3
三、【基本要求】3
四、【实验环境】3
五、【测试数据及其结果】3
六、【实验源代码】5
一、【实验目的】
本次实习的主要目的是熟悉串类型的实现方法和文本模式匹配方法,熟悉一般文学处理软件的设计方法,较复杂问题的分解求精方法。
二、【问题描述】
文学研究人员需要统计某篇英文小说中某些形容词的出现次数和位置。试写一个是实现这一目标的文字统计系统,称为“文学研究助手”。
三、【基本要求】
英文小说存于一个文本文件中。待统计的词汇集合要一次输入完毕,即统计工作必须在程序的一次运行之后就全部完成。程序的输出结果是每个词的出现次数和出现位置所在行的行数,格式自行设计。
四、【实验环境】
Windows7, VC++6.0
五、【测试数据及其结果】
以自己的C源程序模拟英文小说,C语言的保留字集作为待统计的词汇集。
六、【实验源代码】
#include
#include
#include
#define MAXSTRLEN 255
#define OK 1
#define ERROR 0
#define OVERFLOW 0
typedef char HString[MAXSTRLEN+1];
typedef int status;
int next[MAXSTRLEN];
char *chars;
typedef struct{
char *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' + array[i];
}
*(p+i) = '\0';
return p;
}
status StrAssign(SString &T,char *chars)//生成一个其值等于串常量chars的串T
{
int i;
int j;
char *c;
for(i=0,c=chars;*c!='\0';++i,++c);
if(!i)
{
T.ch=NULL;
T.length=0;
}
else
{
if(!(T.ch=(char *)malloc(i *sizeof(char))))
exit(OVERFLOW);
for(j=0;j
{
T.ch[j]=chars[j];
}
T.length=i;
}
return OK;
}
void get_next(SString T,int next[])//求next值
{
int j=1,k=0;
next[1]=0;
while(j
{
if(k==0||T.ch[k-1]==T.ch[j-1])
{
++j;
++k;
next[j]=k;
}
elsek=next[k];
}
}
int Index(SString S,SString T,int pos)//匹配算法kmp
{
int i=pos,j=1;
while(i!=S.length+1&&j!=T.length+1)
{
if(j==0||S.ch[i-1]==T.ch[j-1])
{
j++;i++;
}
else
j=next[j];
}
if(j>T.length-1)
return (i-T.length);
else
return 0;
}
void find(SString keys)//查找单词
{
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 err
c语言文学研究助手报告,数据结构文学研究助手.doc相关推荐
- 用java实现文学研究助手_数据结构文学研究助手 C语言代码实现(带源码+解析)...
文学研究人员需要统计某篇英文小说中某些形容词的出现次数和位置.一个实现这一目标的文字统计系统,称为"文学研究助手". 假设英文小说存放在一个文本文件中,每个单词不包含空格且不跨行, ...
- 数据结c语言约瑟夫环实验报告,数据结构约瑟夫环实验报告.doc
数据结构约瑟夫环实验报告.doc 数据结构与算法设计约瑟夫环实验报告实验一专业物联网工程班级物联网1班学号15180118姓名刘沛航一. 实验目的 1.熟悉VC环境,学习使用C语言利用链表的存储结构解 ...
- c语言程序设计科研训练报告,科研训练总结精选 .doc
科研训练总结精选 科研训练总结 大学生科研训练是培养学生具有创新能力的重要环节,目前全国很多学校把大学生参加科研训练作为提高大学生科研素质的重要途径. 通过本次科研训练我学会了科技论文撰写的基本要求. ...
- c语言程序设计模板图片,C语言程序设计课设报告_模板(样例).doc
. PAGE . <C语言程序设计> 课程设计报告 (2015- 2016学年 第 3 学期) 姓 名: 学 号: 院 系: 专 业: 班 级: 指导教师: 孙金华 成 绩: 计算机与信息 ...
- 2013年软件工程c语言,《C语言程序设计》实验报告模板-2013级软件工程.doc
院 系: 计算机科学学院 专 业: 软件工程 年 级: 2013级 课程名称: 程序设计语言 学 号: 姓 名: 指导教师:程林辉 肖文英 金邵敏 颜龙杰 2013年 10 月 8日 年级 2013级 ...
- 2013年软件工程c语言,《C语言程序设计》实验报告模板_2013级软件工程.doc
word完美格式 精心整理 学习帮手 院 系: 计算机科学学院 专 业: 软件工程 年 级: 2013级 课程名称: 程序设计语言 学 号: 姓 名: 指导教师:程林辉 肖文英 金邵敏 颜龙杰 201 ...
- c语言打字游戏程序设计报告,打字游戏程序设计汇报.doc
打字游戏程序设计汇报 第二章 打字游戏程序设计内容要求和设计思想 2.1 设计内容要求 要求设计的程序需包括:在游戏开始后,按回车键进入打字游戏:按ESC键返回主界面:按空格暂停:按大写字母E程序结束 ...
- 社会学专业喜欢计算机怎么办,考研困惑我是计算机专业的学生可是我喜欢文学想考河北师范大学的研究 爱问知识人...
2005年硕士研究生招生目录 专业代码.名称及研究方向 招生人数 考试科目 010文学院 195 - 030304民俗学 8 - 01民俗学 - ①101政治 ②201英语或202俄语或203日语 ③ ...
- 数据结构c语言课程设计报告,(数据结构c语言课程设计报告.doc
(数据结构c语言课程设计报告 数据结构 课程设计报告 设计题目:迷宫求解 专 业 机电一体化 班 级 08专接本 学 生 学 号 104910252011 指导教师 高在村 完成时间 2011. 5 ...
最新文章
- 用鸿蒙跑了个 “hello world”!鸿蒙开发初体验
- AI时代,企业如何利用机器学习技术驱动业务发展?
- 微软最具想象力项目:将数据中心沉入海底
- C语言头文件为什么要加#ifndef #define #endif(防止头文件重复包含)
- 修改freebsd的主机名
- CSS3 iphone式开关的推荐写法
- 钉钉产品介绍_钉钉正式推出智能OA:免费开放、一站解决“人财物事”管理难题...
- python字符串排序_Python对字符串列表进行排序
- Dom4j SAXReader Constructors
- 最小生成树基础 (Kruskal)
- JNDI学习总结(3)——Tomcat下使用C3P0配置JNDI数据源
- 自动血压呼吸检测仪技术方案
- 7月11日安全沙龙演讲主题漏洞与网站挂马
- Linux设备驱动之字符设备(三)
- 【stm32学习】正点原子stm32f103学习——开发板入门
- 期权的定义与BSM定价
- KchmViewer linux kde下出色一个chm阅读器
- 年终盘点 | 2020年,国内私有云正式进入3.0时代
- 重拾呐些記憶,前面の路,獨自繼續前往。
- Contour Processing
热门文章
- “瑞幸现象”背后的启示与警示 | 一点财经
- 2022留学生落户上海能通过年终奖提高社保基数吗?
- LBN_开头。LB_开头。API常数用途介绍
- [附源码]Java计算机毕业设计SSM大学生体检管理系统
- 51单片机蓝牙APP食物卡路里热量称重HX711电子秤蓝牙手机APP
- 前端程序员需要了解的原生微信小程序-基础知识
- 全网最全面的 Node.js 资源汇总推荐,4W Star!
- python删除指定后缀名的文件
- Arduino温度传感器之继电器控制风扇
- 用计算机画画 神奇的线条,幼儿园大班美术活动教案《神奇的线条》