1、串操作实验报告竭诚为您提供优质文档/双击可除串操作实验报告篇一:顺序串的基本操作实验报告宁波工程学院电信学院计算机教研室实验报告课程名称:数据结构实验项目:顺序串的基本操作实验人员:徐浩学号:10401010209班级:计科102指导教师:宋宏图实验位置:计算机中心二楼实验日期:20XX-10-13一、实验目的1)熟悉串的定义和串的基本操作。2)掌握顺序串的基本运算。3)加深对串数据结构的理解,逐步培养解决实际问题的编程能力。二、实验环境装有Visualc6.0的计算机。本次实验共计2学时。三、实验内容编写一个程序,实现顺序串的各种基本运算,并在此基础上设计一个主程序。具体如下:编写栈的基本操
2、作函数顺序串类型定义如下所示:typedefstructcharchmAxsIZe;intlen;seqstring;(1)串赋值Assign(s,t)?将一个字符串常量赋给串s,即生成一个其值等于t的串s(2)串复制strcopy(s,t)?将串t赋给串s(3)计算串长度strLength(s)?返回串s中字符个数(4)判断串相等strequal(s,t)?若两个串s与t相等则返回1;否则返回0。(5)串连接concat(s,t)?返回由两个串s和t连接在一起形成的新串。(6)求子串substr(s,i,j)?返回串s中从第i(1istrLength(:串操作实验报告)s)个字符开始的、由连
3、续j个字符组成的子串。(7)插入Insstr(s,i,t)?将串t插入到串s的第i(1istrLength(s)+1)个字符中,即将t的第一个字符作为s的第i个字符,并返回产生的新串(8)串删除Delstr(s,i,j)?从串s中删去从第i(1istrLength(s)个字符开始的长度为j的子串,并返回产生的新串。(9)串替换Repstr(s,s1,s2)?在串s中,将所有出现的子串s1均替换成s2。(10)输出串Dispstr(s)?输出串s的所有元素值(11)判断串是否为空Isempty(s)编写主函数调用上述函数实现下列操作:(1)建立串s=“abcdefghijklmn”,串s1=“x
4、yz”,串t“hijk”(2)复制串t到t1,并输出t1的长度(3)在串s的第9个字符位置插入串s1而产生串s2,并输出s2(4)删除s第2个字符开始的5个字符而产生串s3,并输出s3(5)将串s第2个字符开始的3个字符替换成串s1而产生串s4,s4(6)提取串s的第8个字符开始的4个字符而产生串s5,并输出s5(7)将串s1和串t连接起来而产生串s6,并输出s6(8)比较串s1和s5是否相等,输出结果程序:#include#definemAxsIZe100typedefstructcharchmAxsIZe;intlen;sqstring;voidstrAssign(sqstringfor(
5、i=0;ti!=0;i+)s.chi=ti;s.len=i;voidstrcopy(sqstring并输出for(i=0;is.chi=t.chi;s.len=t.len;voidstrequal(sqstrings,sqstringt)/判断串相等intsame=1,i;if(s.len!=t.len)same=0;elsefor(i=0;iif(s.chi!=t.chi)same=0;break;if(same=0)printf(s1,s5不相等);elseprintf(s1,s5相等);printf(n);voidstrLength(sqstrings)/计算串长度printf(t1的长
6、度:);printf(%d,s.len);printf(n);sqstringconcat(sqstrings,sqstringt)/串连接sqstringstr;inti;str.len=s.len+t.len;for(i=0;istr.chi=s.chi;for(i=0;istr.chs.len+i=t.chi;returnstr;sqstringsubstr(sqstrings,inti,intj)/求子串sqstringstr;intk;str.len=0;if(is.len|js.len)returnstr;for(k=i-1;kstr.chk-i+1=s.chk;str.len=j
7、;returnstr;sqstringInsstr(sqstrings1,inti,sqstrings2)/插入intj;sqstringstr;str.len=0;if(is1.len+1)returnstr;for(j=0;jstr.chj=s1.chj;for(j=0;jstr.chi+j-1=s2.chj;for(j=i-1;jstr.chs2.len+j=s1.chj;str.len=s1.len+s2.len;returnstr;sqstringDelstr(sqstrings,inti,intj)/删除intk;sqstringstr;str.len=0;if(is.len|i+
8、js.len+1)returnstr;for(k=0;kstr.chk=s.chk;for(k=i+j-1;kstr.chk-j=s.chk;str.len=s.len-j;returnstr;sqstringRepstr(sqstrings,inti,intj,sqstringt)/替换intk;sqstringstr;str.len=0;if(is.len|i+j-1s.len)returnstr;for(k=0;kstr.chk=s.chk;for(k=0;kstr.chi+k-1=t.chk;for(k=i+j-1;kstr.cht.len+k-j=s.chk;str.len=s.le
9、n-j+t.len;returnstr;voidDispstr(sqstrings)/输出串所有元素inti;if(s.len0)for(i=0;iprintf(%c,s.chi);printf(n);voidIsempty(sqstrings)/判断串是否为空if(s.len0)printf(串不为空);elseprintf(串为空);printf(n);篇二:串实验报告篇三:字符串实验报告数据结构字符串实验班级:计算机应用技术10-1学号:10602101048姓名:姚福刚一、实验目的及要求:掌握有关字符串的基本操作和存储结构,并编写相应的基本操作算法。二、实验内容:(1)求字符串的长度算
10、法(2)求字符串的拷贝算法(3)字符串的连接算法(4)字符串的比较算法(5)字符串的逆置算法(6)用strtok()函数分离单词。(选做)三、实验准备:1)计算机设备;2)程序调试环境的准备,如Vc6或wIn-Tc环境;3)实验内容的算法分析与代码设计准备。四、函数实现1、长度函数intstrlen(char*p)intcount=0;while(*p!=0)count+;p+;returncount;2、拷贝函数voidscopy(char*s1,char*s2)intlen,i;len=strlen(s2);for(i=0;is1i=s2i;s1i=0;return;3、连接函数voids
11、trcat(char*s1,char*s2)intlen1,len2;len1=strlen(s1);scopy(s1+len1,s2);return;4、比较函数inttrcmp(char*s1,char*s2)inti=0;/*s1while(s1i=s2i)if(s1i=0)return0;i+;return(s1i-s2i);5、逆置函数voidReversestr(char*s)inti,j;chart;for(i=0,j=strlen(s)-1;it=si;si=sj;sj=t;五、测试(在主函数中调用函数测试功能)#include#include#definemAxsIZe80intmain(void)charp1=,p2=;printf(nt(1)p1-length=%dp2-length=%dn,strLen(p1),strLen(p2);strcat(p1,p2);printf(nt(2)p1=%sn,p1);printf(nt(3)theresultis%dn,strcmp(p1,p2);Reversestr(p1);printf(nt(4)p1=%sn,p1);getch();return0;实验截图:六、心得体会通过这次实验让我了解了什么是字符串,他是一种特殊的线性表,并了解有关字符串的基本操作和存储结构,并编写相应的基本操作算法。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1