欢迎来到天天文库
浏览记录
ID:56922143
大小:309.00 KB
页数:17页
时间:2020-07-24
《数据结构课程设计 文章编辑.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、目录一、设计目的5二、设计内容5三、设计要求5四、主要数据结构与算法61、主要数据结构61.1主要数据结构61.2程序流程图62、主要算法设计72.1输入文本72.2输出文本82.3输出删除某一字符串后的文章82.4统计某个字符串在文章中出现的次数9五、调试与分析101、菜单主界面102、输入函数103、输出文本114、统计文字、数字、空格的个数115、统计某个字符串在文章中出现的次数116、输出删除某一字符串后的文章12六、总结13七、参考文献13八、程序清单14课程设计(大作业)报告一、设计目的熟练使用C语言实现文章编辑。二、设计内容静态存储一页文章,统计出文字、数字、空格的个数
2、。三、设计要求1、分别统计出其中英文字母数和空格数及整篇文章总字数;2、统计某一字符串在文章中出现的次数,并输出该次数;3、删除某一子串,并将后面的字符前移。4、实现功能:⑴分行输出用户输入的各行字符;⑵分4行输出“全部字母数”、“数字个数”、“空格个数”、“文章总字数”⑶输出删除某一字符串后的文章。四、主要数据结构与算法1、主要数据结构1.1主要数据结构函数名实现功能typedefstruct{DataTypea[MAXSIZE];intlength;}Article;定义串的静态存储分配结构voidinput(Article*s)输入文本voidptint(Article*s)输
3、出文本voidletter_number(Article*s)输出全部字母个数voidspace_number(Article*s)输出全部空格个数voiddigit_number(Article*s)输出全部数字总数voidsize_number(Article*s)输出文章总字数voiddele_print(Article*p,Article*s)输出删除某一字符串后的文章voidCounter(Article*p,Article*s)统计某个字符串在文章中出现的次数表1主要数据结构1.2程序流程图图1程序流程图2、主要算法设计2.1输入文本输入一段文本,当输入的文本是回车符(“
4、”)时,将输入的文本最后一个字符赋成字符串的结束符’ ’,然后修改输入文本的长度。voidinput(Article*s)/**输入文本**/{inti;s->length=0;for(i=0;ia[i]));s->length++;if(s->a[i]==''){s->a[i]=' ';s->length--;break;}}}2.2输出文本将输入的文本,如果输入文本的长度为0,则以错误提示出现在屏幕上,若长度不为0,则以每行显示80个字符的格式输出在屏幕上。voidptint(Article*s)/*输出文本
5、*/{inti,j=0;if(!s->length){printf("错误!");}elsefor(i=0;ilength;i++){printf("%c",s->a[i]);j++;if(j%80==0)printf("");}}2.3输出删除某一字符串后的文章此函数用到了串的简单模式匹配,即:设置一个标记succ,当正文串s与模式串匹配成功时,标记succ=1;当正文串s与模式串匹配不成功时,succ=0。最后根据标记的值来判断时候找到匹配的子串,最终实现删除操作。voiddele_print(Article*p,Article*s)/*输出删除某一字符串后的文章
6、*/{inti,j,succ,flag=1;i=0;while((i<=s->length-p->length+1)){j=0;succ=1;/*用j扫描模式p*/while((j<=p->length-1)&&succ){if(p->a[j]==s->a[i+j])j++;elsesucc=0;if(j==p->length)flag=0;}if(!succ){printf("%c",s->a[i]);}else{i=i+p->length-1;}i++;}printf("%s",s->a+i);if(flag==1)printf("但找不到要删除的字符串!");}2.4统计某
7、个字符串在文章中出现的次数此函数也用到了串的简单模式匹配,即:设置一个标记succ,当正文串s与模式串匹配成功时,标记succ=1;当正文串s与模式串匹配不成功时,succ=0。最后根据标记的值来判断时候找到匹配的子串。设置一个计数标记k,当匹配成功时,将匹配的结果记录保存下来后,最后输出统计特殊字符串出现的次数。voidCounter(Article*p,Article*s)/*统计某个字符串在文章中出现的次数*/{inti,j,succ,k=0;i=0
此文档下载收益归作者所有