- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验报告四
实验名称:指针与字符串 学时安排:课内1+课外3
实验类别:综合性实验 实验要求:3人1组
完成人:学号 姓名
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
一、实验目的和任务
1)掌握数组和指针的概念、字符串的存储方式;
2)掌握动态内存分配的方法;
3)掌握利用指针实现字符串处理的方法。
二、实验原理介绍
综合性实验;通过指针和数组,完成字符串处理。
三、实验设备介绍
软件需求: Visual C++ 6.0硬件需求:建议配置是Pentium III 450以上的CPU处理器,64MB以上的内存,200MB的自由硬盘空间、CD-ROM驱动器、24位真彩色显示卡、彩色显示器。
四、实验内容
1、分别编写下列字符串处理函数
(1)char *strcat1(char *s,const char *ct);
将串ct接到串s的后面,形成一个长串。【例6.7】以数组为参数,现用指针为参数。
(2)int strlen1(const char * s);
求字符串长度的函数,返回串长(不包括串结束符)。
(3)char * reverse (char *);
反置字符串s,即可将“break”成为“kaerb”。
(4)char * strchr( const char *cs,char c);
查找字符c在串cs中第一次出现的位置,返回指向该字符的指针,若没有出现则返回NULL。
#includeiostream
using namespace std;
char* strcat1(char* s,const char* ct){
char* st=s;
while(*s) s++;//*s作为条件,等效*s!=0
while(*s++=*ct++);
return st;
}
int strlen1(const char* s){
int i=0;
while(*s++) i++;
return i;
}
char* reverse (char* s){
char temp,* temp1=s,* temp2=s;
while(*temp2) temp2++;
temp2--; //指针移回串尾
while(temp2-temp10){//注意此处,从串两头的指针同时向中间移动,重合或交错时停止
temp=*temp1;
*temp1=*temp2;
*temp2=temp;
temp1++;
temp2--;
}
return s;
}
char* strchr( const char*cs,char c){
while(*cs!=c*cs) cs++;
if(*cs==0) cs=NULL; //未找到返回NALL
return (char*)cs;
}
int main(){
char a[120]=LiMing;
char b[80]=is a student of Southern Medical University;
char c[40]=Southern Medical;
char *cp;
coutaendl;
coutbendl;
strcat1(a,b);
cout字符串连接后:endl;
coutaendlendl; //打印字符数组a
cout字符串长度为:strlen1(a)endlendl;
coutcendlendl;
cp=strchr(c,u);
if(cp==NULL) cout未找到uendlendl;
else coutcpendlendl; //找到输出由该字符开始的剩余串
cp=strchr(c,a);
if(cp==NULL) cout未找到aendlendl;
else coutcpendlendl;
coutreverse(c)endlendl;
return 0;
}
2、在实验报告二的基础上完成:设计一个学生类Stud,数据成员包括o(学号)、name(姓名)和deg(成绩)个静态变量sum和num,分别存放总分和人数两个普通成员函数setdata()和disp(),分别用于给数据成员赋值和输出数据成员的值,一个静态成员函数avg(),用于计算平均分。在main()函数中定义一个对象数组用于存储输入的学生数据。#includestdio.h
#includestring.h
#define N 3
文档评论(0)