首页 数据结构实验5串子系统版

数据结构实验5串子系统版

举报
开通vip

数据结构实验5串子系统版考证性实验5:串子系统班级学号姓名胡德文1.实验目的1)掌握串的特色及次序定长储存的方式。2)掌握串的创立、连结、插入、删除、显示等操作。3)掌握串的查找、取子字符串、比较串大小的操作4)掌握模式般配的基本思想及其算法。2.实验内容1)由用户经过键盘输入成立一个字符串。2)编写插入、删除、查找、比较、取子字符串、连结字符串、显示、模式般配等程序。3)设计一个选择式菜单,以菜单方式选择上述操作。串子系统*********************************************1------输...

数据结构实验5串子系统版
考证性实验5:串子系统班级学号姓名胡德文1.实验目的1)掌握串的特色及次序定长储存的方式。2)掌握串的创立、连结、插入、删除、显示等操作。3)掌握串的查找、取子字符串、比较串大小的操作4)掌握模式般配的基本思想及其算法。2.实验 内容 财务内部控制制度的内容财务内部控制制度的内容人员招聘与配置的内容项目成本控制的内容消防安全演练内容 1)由用户经过键盘输入成立一个字符串。2)编写插入、删除、查找、比较、取子字符串、连结字符串、显示、模式般配等程序。3) 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 一个选择式菜单,以菜单方式选择上述操作。串子系统*********************************************1------输入字串**2------连接字串**3------取出子串**4------删除子串**5------插入子串**6------查找子串**7------比较串大小**8------显示字串**0------返回*********************************************请输入菜单项选择项(0--8):3.实验程序#include#defineSTRINGMAX100typedefstruct{charvec[STRINGMAX];intlen;}str;voidConcatStr(str*r1,str*r2){inti;printf("\n\t\tr1=%sr2=%s\n",r1->vec,r2->vec);if(r1->len+r2->len>STRINGMAX)printf("\n\n\t两个串太长,溢出!\n");else{for(i=0;ilen;i++)r1->vec[r1->len+i]=r2->vec[i];r1->vec[r1->len+i]='0';r1->len=r1->len+r2->len;1}}voidSubStr(str*r,inti,intj){intk;stra;str*r1=&a;if(i+j-1>r->len){printf("\n\t\t子串超界!\n");return;}else{for(k=0;kvec[k]=r->vec[i+k-1];r1->len=j;r1->vec[r1->len]='\0';}printf("\n\t\t拿出字符为:");puts(r1->vec);}voidDelStr(str*r,inti,intj){intk;if(i+j-1>r->len)printf("\n\t\t所要删除的子串超界!\n");else{for(k=i+j;klen;k++,i++)r->vec[i]=r->vec[k];r->len=r->len-j;r->vec[r->len]='\0';}}str*InsStr(str*r,str*r1,inti){intk;if(i>=r->len||r->len+r1->len>STRINGMAX)printf("\n\t\t不可以插入!\n");else{for(k=r->len-1;k>=i;k--)r->vec[r1->len+k]=r->vec[k];for(k=0;klen;k++)r->vec[i+k]=r1->vec[k];r->len=r->len+r1->len;r->vec[r->len]='\0';}returnr;}2intIndexStr(str*r,str*r1){inti,j,k;for(i=0;r->vec[i];i++)for(j=i,k=0;r->vec[j]==r1->vec[k];j++,k++)if(!r1->vec[k+1])returni;return-1;}intLenStr(str*r){inti=0;while(r->vec[i]!='\0')i++;returni;}str*CreateStr(str*r){gets(r->vec);r->len=LenStr(r);returnr;}intEqualStr(str*r1,str*r2){for(inti=0;r1->vec[i]&&r2->vec[i]&&r1->vec[i]==r2->vec[i];i++);returnr1->vec[i]-r2->vec[i];}voidmain(){stra,b,c,d;str*r=&a,*r1;r->vec[0]='\0';charchoice,p;inti,j,ch=1;while(ch!=0){printf("\n");printf("\n\t\t串子系统");printf("\n\t\t*********************************************");printf("\n\t\t*1------输入字串*");printf("\n\t\t*2------连结字串*");printf("\n\t\t*3------拿出子串*");printf("\n\t\t*4------删除子串*");printf("\n\t\t*5------插入子串*");printf("\n\t\t*6------查找子串*");printf("\n\t\t*7------比较串大小*");printf("\n\t\t*8------显示字串*");printf("\n\t\t*0------返回*");printf("\n\t\t*********************************************");3printf("\n\t\t请选择菜单号(0--8):");scanf("%c",&choice);getchar();if(choice=='1'){printf("\n\t\t请输入一个字符串:");gets(r->vec);r->len=LenStr(r);}elseif(choice=='2'){printf("\n\t\t请输入所要连结的串:");r1=CreateStr(&b);ConcatStr(r,r1);printf("\n\t\t连结此后的新串值为:");puts(r->vec);}elseif(choice=='3'){printf("\n\t\t请输入从第几个字符开始:");scanf("%d",&i);getchar();printf("\n\t\t请输入拿出的连续字符数:");scanf("%d",&j);getchar();SubStr(r,i,j);}elseif(choice=='4'){printf("\n\t\t请输入从第几个字符开始:");scanf("%d",&i);getchar();printf("\n\t\t请输入删除的连续字符数:");scanf("%d",&j);getchar();DelStr(r,i-1,j);}elseif(choice=='5'){printf("\n\t\t请输入在第几个字符前插入:");scanf("%d",&i);getchar();printf("\n\t\t请输入所要插入的字符串:");r1=CreateStr(&b);InsStr(r,r1,i-1);}elseif(choice=='6'){printf("\n\t\t请输入所要查找的字符串:");r1=CreateStr(&b);4i=IndexStr(r,r1);if(i!=-1)printf("\n\t\t第一次出现的地点是第%d个.\n",i+1);elseprintf("\n\t\t该字串不在此中!\n");}elseif(choice=='7'){printf("\n\t\t请输入第一个串:");gets(c.vec);printf("\n\t\t请输入第二个串:");gets(d.vec);intk=EqualStr(&c,&d);if(k>0)printf("\n\t\t第一个串大!\n");elseif(k<0)printf("\n\t\t第二个串大!\n");elseprintf("\n\t\t两个串同样大!\n");}elseif(choice=='8'){printf("\n\t\t该串值为:");if(r->vec[0]=='\0')printf("空!\n");elseputs(r->vec);}elseif(choice=='0')break;elseprintf("\n\t\t请注意:输入有误!\n");if(choice!='X'&&choice!='X'){printf("\n\t\t按【Enter】键持续,按随意键返回主菜单.");p=getchar();if(p!='\xA'){getchar();break;}}}}4.程序运转567895.实验小结本章要求我们掌握的是字符串的创立、连结、删除、显示、查找、取子串和比较字符串大小。串的实质就是一种特别的线性 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf ,而它的数据元素是由一个个字符构成的。串的储存方式分为紧凑型和非紧凑型两种,同时也认识了两种字符串的不一样之处。在这一章的学习中认识了好多知识,增添了看法,拓宽了视线。在输入源代码的过程中稳固了串的运算,增强了记忆,在编译的过程中不免有错误,不过也正是这些错误将我不理解的地方都裸露出来了,让我能够知道自己的短处,能够增强对10知识的理解。这也是每次实验的目的。因此,总的来说,本次实验仍是成功的。11
本文档为【数据结构实验5串子系统版】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
锦绣前程
暂无简介~
格式:doc
大小:492KB
软件:Word
页数:13
分类:
上传时间:2023-02-26
浏览量:3