电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

实验报告-串的基本操作VIP免费

实验报告-串的基本操作_第1页
1/7
实验报告-串的基本操作_第2页
2/7
实验报告-串的基本操作_第3页
3/7
1姓名XXX班级课程名称数据结构任课教师实验项目名称串的基本操作指导教师实验组别X同组者无教师评语及成绩:实验成绩:教师签字:(请按照实验报告的有关要求书写。一般必须包括:1、实验目的;2、实验内容;3、实验步骤与方法;4、实验数据与程序清单;5、出现的问题与解决方法;6、实验结果、结果分析与体会等内容)1、实验目的(1)掌握串基本操作:初始化、联接、替换、子串等运算的程序设计方法;(2)掌握串的模式匹配算法。2、实验内容(1)编程实现串的基本运算;(2)编程实现串的模式匹配算法。3、实验步骤和方法(1)认真阅读和掌握和本实验相关的教材内容;(2)认真阅读和掌握本章相关内容的算法并设计程序序;(3)上机运行程序;(4)保存和打印出程序的运行结果,并结合程序进行分析。4、实验数据与程序清单计算机学院实验报告专用纸实验室:网络实验室机号:网17实验日期:2009年4月19日2#includevstdio.h>#defineMaxSize50typedefstruct{chardata[MaxSize];〃存放字符串intlength;〃字符串长度}SqString;〃将一个字符串常量赋给串svoidStrAssign(SqString&s,charcstr[]){inti;for(i=0;cstr[i]!='\0';i++)〃这个'\0'代表字符串结束标志,编译系统自动加上的s.data[i]=cstr[i];s.length=i;}〃字符串的复制voidStrCopy(SqString&s,SqStringt){inti;for(i=0;ivt.length;i++)s.data[i]=t.data[i];s.length=t.length;printf("字符串复制成功了\n");}〃判断字符串是否相等voidStrEqual(SqStrings,SqStringt){inti,same=1;if(s.length!=t.length)same=0;else{for(i=0;ivs.length;i++)if(s.data[i]!=t.data[i]){same=0;break;}}if(same==0)printf("这两个字符串不相等\n");3elseprintf(”这两个字符串相等\n");}〃字符串的长度voidStrLength(SqStrings){printf("此字符串长度为:%d\n",s.length);}〃合并字符串SqStringConcat(SqStrings,SqStringt){SqStringstr;inti;str.length=s.length+t.length;for(i=0;ivs.length;i++)str.data[i]=s.data[i];for(i=0;ivt.length;i++)str.data[s.length+i]=t.data[i];returnstr;}〃求子字符串voidSubStr(SqStrings,inti,intj){SqStringstr;intk;str.length=0;if(iv=Olli>s.lengthlljvOlli+j-l>s.length)printf("子字符串复制失败\n");for(k=i-1;kvi+j-1;k++)str.data[k-i+1]=s.data[k];str.length=j;printf("子字符串复制成功长度为:%d\n",j);printf("下面输出此子字符串:\n");for(i=0;isl.length+l){printf(”字符串插入失败\n");returnstr;}for(j=0;js.length||i+j>s.length+1){printf("字符串删除失败\n");returnstr;}for(k=0;kvi-1;k++)str.data[k]=s.data[k];for(k=i+j-1;kvs.length;k++)str.data[k-j]=s.data[k];str.length=s.length-j;printf("删除子字符串成功剩余长度为:%d\n",str.length);returnstr;}〃替换字符串voidRepStr(SqStrings,inti,intj,SqStringt){intk;SqStringstr;str.length=0;if(iv=0||i>s.length||i+j-1>s.length)printf("字符串替换失败了\n");for(k=0;kvi-l;k++)5str.data[k]=s.data[k];for(k=0;kvt.length;k++)str.data[i+k-1]=t.data[k];for(k=i+j-1;kvs.length;k++)str.data[t.length+k-j]=s.data[k];str.length=s.length-j+t.length;printf(”替换字符串成功新字符串长度为:%d\n",str.length);}〃字符串的输出voidDispStr(SqStrings){inti;if(s.length>0){printf("下面输出这个字符串\n");for(i=0;ivs.length;i++)printf("%c",s.data[i]);printf("\n");}elseprintf("目前空字符串无法输出\n");}voidmain(){SqStrings;chara[]={"wenxianliang"};〃字符串常量aStrAssign(s,a);DispStr(s);StrLength(s);SqStrings1,s2,t;〃s1是待复制的字符串变量printf("请输入一个字符串t:\n");scanf("%s",t.data);StrAssign(t,t.data);StrCopy(s1,t);〃复制字符串StrLength(s1);DispStr(s1);printf("下面判断字符串s1和字符串s是否相等\n");StrEcual(s,s1);6printf(”下面将字符串si和字符串s合并一起\n");SqStringstr;str=Concat(s,s1);〃合并字符串DispStr(str);StrLength(str);SubStr(str,22,7);〃求子字符串str=DeleStr(str,15,4);〃删除字符串DispStr(str);StrLength(str);printf("请插入一个字符串s2\n");scanf("%s",s2.data);StrAssign(s2,s2.data);str=InserStr(str,15,s2);〃插入字符串DispStr(str);StrLength(str);printf("顺序字符串的基本运算到此结束了\n");}5、实验结果:7

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

实验报告-串的基本操作

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部