- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构课程设计——串查找与替换
数据结构课程设计——串的查找与替换
问题陈述:
需求分析:
概要设计和详细设计:
程序代码:
结果与测试:
六、体会与总结:
一、问题陈述:
打开一篇英文文章,在该文章中找出所有给定的单词,然后对所有给定的单词替换为另外一个单词,再存盘。打开一篇英文文章,在该文章中找出所有给定的单词,然后对所有给定的单词替换为另外一个单词,再存盘。gets(keyWords); gets(copyWords)。
然后实现程序打开文件的功能。
最后编写最核心的替换功能,首先用关键字来匹配要查找的单词,第一个单词匹配上的话再判断这个关键字在不在单词的首字母上,否则不匹配,主要是要实现替换单词的功能不替换其他单词中的字符串。然后匹配第二个字母,这样一次类推的判断。不匹配的单词直接放入strTwo数组中,匹配的单词先替换然后再放入strTwo数组中。
三、概要设计和详细设计:
程序头设计
对程序作简单介绍以及输出程序制作人的基本信息。
main()
{
printf(\n\n\n\t\t\t数据结构课程设计\n);
printf(\n\t\t\t题目:串的查找与替换\n);
printf(\n\t\t\t专业:信息管理与信息系统\n);
printf(\n\t\t\t学号:2013143129\n);
printf(\n\t\t\t姓名:张朝翔);
printf(\n\t程序作用:打开一篇英语作文,在该文章中找出所有给定的单词,然后对\n\t所有给定的单词替换为另一个单词再存盘。);
printf(\n************************************\n);
}
主函数void main()
通过for循环对字符串进行匹配,找到匹配的单词然后将copy的单词字符放入strTwo数组中,不匹配的单词也放入数组strTwo中完成替换,最后把strTwo中的字符放回文件中完成操作。
5.程序代码:
#include stdio.h
#include stdlib.h
#define SIZE 20 /* 查找单词字符和输入替换单词少于20 */
#define MAXLEN 10000 /* 文章字符不大于10000 */
void main()
{
int i, j;
int flag; /* 用于标记匹配单词 */
int countFlag; /* 用于检查匹配计数 */
int countOne = 0; /* 记录未改文章字符个数 */
int countTwo = 0; /* 记录改后文章字符个数 */
char keyWords[SIZE]; /* 查找单词 */
char copyWords[SIZE];/* 替换单词 */
char strOne[MAXLEN]; /* 将未改文章的所有字符储存在里面 */
char strTwo[MAXLEN]; /* 将改后文章的所有字符储存在里面 */
char filename[20]; /*输入的文件名的字符个数*/
{
printf(\n\n\n\t\t\t数据结构课程设计\n);
printf(\n\t\t\t题目:串的查找与替换\n);
printf(\n\t\t\t专业:信息管理与信息系统\n);
printf(\n\t\t\t学号:2013143129\n);
printf(\n\t\t\t姓名:张朝翔);
printf(\n\t程序作用:打开一篇英语作文,在该文章中找出所有给定的单词,然后对\n\t所有给定的单词替换为另一个单词再存盘。);
printf(\n******************************************************************************\n);
}
FILE *fp;
printf(请输入要查找的单词: );
gets(keyWords);
printf(请输入要替换的单词: );
gets(copyWords);
printf(请输入要打开的文件名:);
scanf(%s,filename);
if ((fp = fopen(filename, r)) ==NULL )/* 读文件,前边的就是输入的文件名,后边是指只读read */
{
printf(文件打开失败!\n);
exit(0);
}
while (!feof(fp))/* 读文件 */
{
strOne[countOne++] = fgetc(f
文档评论(0)