- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
串的基本操作的编程实现
数据结构 双语班
DATA STRUCTURE BILINGUAL-TEACHING CLASS
实验报告003 批改单
Experiment Report Commendatory Bill
指导老师评语 COMMENDATORY OF THE TEACHER
签字:
串基本操作的编程实现
2006-2007(2)学期 T523-1班 学号:33 姓名:王娟
指导老师:马春江 时间:2007.04.19
【实验目的】
内容:串基本操作的编程实现
要求:
串基本操作的编程实现(2学时,验证型),掌握串的建立、遍历、插入、删除等基本操作的编程实现,也可以进一步编程实现查找、合并、剪裁等操作,存储结构可以在顺序结构或链接结构、索引结构中任选,也可以全部实现,用菜单进行管理。也鼓励学生利用基本操作进行一些应用的程序设计。
【实验性质】
验证性实验(学时数:2H)
【实验内容】
可以只完成基本的功能演示程序。也可以通过一个较为实用的系统下体现各种操作的作用,如可以开发一个文本统计程序,要求如下:
编写程序,进行字符串统计系统的设计
将存在txt文件中的文本进行统计:字母数、标点符号数、单词数、句子数、段落数。
进一步的工作
(统计:汉字数、每个单词的次数和所在行数等)
【详细设计】
#include iostream.h
#include windows.h
#include conio.h
#define Maxlen 50
#include string
using namespace std;
typedef struct
{
char ch[Maxlen];
int len;
}strtype;
void disp(strtype *s) //输出串
{
if(s-len==0)
cout空串endl;
else
{for(int i=0;is-len;i++)
{
couts-ch[i];
}coutendl;}
}
void create(strtype *s) //将普通字符串赋给串
{
char b,string[Maxlen]= ;
int k=0;
cout请输入一个字符串(以#结束) endl;
for(;;)
{
cinb;
if(b==#) break;
string[k]=b;
k++;
}
char *str=string;
strcpy(s-ch,str);
s-len=strlen(str);
}
int length(strtype *s) //求串的长度
{
return s-len;
}
void copy(strtype *s1,strtype *s2) //串的复制
{
int i;
for(i=0;is1-len;i++)
s2-ch[i]=s1-ch[i];
s2-len=s1-len;
s2-ch[s2-len]=\0; //添加字符串结束符
}
void subs(strtype *s,int pos,int n) //求子串
{
int i;
strtype ss;
strtype *sub=ss;
if(pos+n-1length(s)) //参数不正确
cout子串过长!;
else
{
for(i=pos-1;ipos+n-1;i++)
sub-ch[i-pos+1]=s-ch[i];
sub-len=n;
sub-ch[sub-len]=\0;
disp(sub);
}
}
int concat(strtype *s,strtype *t) //连接两个串
{
int i;
if((s-len+t-len)Maxlen)
{
cout连接失败!endl;
return 0;
}
for(i=0;it-len;i++)
s-ch[i+s-len]=t-ch[i];
s-len=s-len+t-len;
s-ch[s-len]=\0
文档评论(0)