资源描述:
《数据结构-串的应用及其基本操作 -课程设计-实验报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、数据结构课程设计设计题目:串的应用及其基本操作20课题名称串的应用及其基本操作院系年级专业学号姓名成绩课题设计目的与设计意义1、课题设计目的:(1):掌握串的基本存储结构;(2):掌握串的基本运算及其实现;2、课题设计意义:通过此次对于串及其基本操作的课程设计,更深层次的了解串的基本概念、特征,掌握串的基本存储结构、基本运算及其实现。根据课程设计的目的和基本要求,注意一些容易发生错误的问题,从而进一步的认真分析问题、总结结论和经验,理解设计的思想和构思。联系到生活上的实际问题,培养课程设计的能力及思想构思。指导教师:年月日20目录第一章:课程设计的目的、基本
2、要求及其解析11.1课程设计的目的:11.2课程设计要求:11.3课程设计题目解析:1第二章:课程设计内容12.1程序设计代码:12.2:程序设计的基本思想:122.3程序运行结果:15第三章:课程设计的优点及遇到的问题203.1:课程设计的优缺点:203.2:课程设计过程中遇到的问题:20第四章:总结214.1:个人小结:214.2:参考文献:2120第一章:课程设计的目的、基本要求及其解析1.1课程设计的目的:(1):掌握串的基本存储结构。(2):掌握串的基本运算及其实现。1.2课程设计要求:(1):将上机程序全部调试通过。(2):结合程序分析运行结果。
3、1.3课程设计题目解析:顾名思义,串及其基本操作,就是要在理解串的基本概念和特征的基础上,了解串的内部表示和处理方法。这样才能有效地实现串的基本操作。串,也还是字符串,是一种特殊的线性表。特殊之处在于表中的每一个元素都是字符,以及由此而要求的一些特殊操作。在串及其基本操作中,要求的操作有联接、求串长、求子串、比较串的大小、串的插入、串的删除、子串的定位和置换。因为所要进行的操作比较零散也比较多,所以就要用到多个函数把这个整体的课程设计划分成多个模块来进行。每个函数对应一个功能。在主函数中,用一个菜单,就可以将原来的已分模块的函数系统地进行检验及操作。第二章:
4、课程设计内容2.1程序设计代码:#include#include#definemaxsize64/*假设串可能的最大长度是64*/typedefstruct20{charch[maxsize];/*串的存储空*/intcurlen;/*当前串的长度*/}seqstring;seqstring*s;voidstrcats()/*串的联接*/{seqstringstr1[32],str2[32];printf("请输入俩串字符串:");scanf("%s%s",str1,str2);strcat(str1,str2);put
5、s(str1);}voidstrlens()/*串的长度*/{seqstringstr[32];inti;printf("请输入一串字符串:");scanf("%s",str);20i=strlen(str);printf("此字符串的串长为:%d",i);}voidstrcmps()/*比较串的大小*/{seqstringstr1[32],str2[32];printf("请输入两串字符串:");scanf("%s%s",str1,str2);if(strcmp(str1,str2)>0)printf("1");if(strcmp(str1,str2)==
6、0)printf("0");if(strcmp(str1,str2)<0)printf("-1");}voidstrcpys()/*串的复制*/{seqstringstr1[32],str2[32];20printf("请输入两串字符串:");scanf("%s%s",str1,str2);strcpy(str1,str2);printf("复制后的字符串为%s",str1);}voidinsert(seqstring*s,inti,seqstring*t)/*串的插入*/{intj,k;printf("请输入原字符串和其长度:");scanf("%s%d"
7、,s,&s->curlen);printf("请输入要插入的字符串的长度:");scanf("%s%d",t,&t->curlen);for(j=s->curlen-1;j>=i;j--)s->ch[j+t->curlen]=s->ch[j];for(k=0,j=i;t->ch[k]!=' ';k++,j++)s->ch[j]=t->ch[k];s->ch[s->curlen+t->curlen]=' ';s->curlen=s->curlen+t->curlen;20printf("插入后的字符串为:");puts(s->ch);}voiddelete
8、s(seqstring*s,inti,intj)/*