《C++语言程序设计实验答案数组.指针与字符串.doc》由会员分享,可在线阅读,更多相关《C++语言程序设计实验答案数组.指针与字符串.doc(18页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、实验实验 06 数组、指针与字符串(数组、指针与字符串(4 学时)学时)(第 6 章 数组、指针与字符串)一、实验目的一、实验目的(1) 学习使用数组数据对象。(2) 学习字符串数据的组织和处理。(3) 学习标准 C+库的使用。(4) 掌握指针的使用方法。(5) 练习通过调试功能观察指针的内容及其所指的对象的内容。(6) 练习通过动态内存分配实现动态数组,并体会指针在其中的作用。(7) 分别使用字符数组和标准 C+库练习处理字符串的方法。二、实验任务二、实验任务6_1(习题 6-25)编写并测试 33 矩阵转置函数,使用数组保存 33 矩阵。6_2(习题 6-26)使用动态内存分配生成动态数组
2、来重新完成上题(n 阶方阵) ,使用指针实现函数的功能。6_3 编程实现两字符串的连接。要求使用字符数组保存字符串,不要使用系统函数。6_4 使用 string 类声明字符串对象,重新实现上一小题。6_5(习题 6-27)声明一个 Employee 类。其中包括姓名、街道地址、城市和邮编等属性,以及 change_name()和 display()等函数。display()显示姓名、街道地址、城市和邮编等属性,change_name()改变对象的姓名属性,实现并测试这个类。6_6(习题 6-27)声明包含 5 个元素的对象数组,每个元素都是 Employee类型的对象。6_7 修改实验 4 中
3、的 people(人员)类。具有的属性如下:姓名 char name11、编号 char number7、性别 char sex3、生日birthday、身份证号 char id16。其中“出生日期”声明为一个“日期”类内嵌子对象。用成员函数实现对人员信息的录入和显示。要求包括:构造函数和析构函数、拷贝构造函数、内联成员函数、聚集。在测试程序中声明 people 类的对象数组,录入数据并显示。三、实验步骤三、实验步骤1.(编程,习题 6-25)编写矩阵转置函数,输入参数为 33 整型数组。使用循环语句实现矩阵元素的行列对调,注意在循环语句中究竟需要对哪些元素进行操作,编写 main()函数实现
4、输入输出。程序名:lab6_1.cpp。参考运行结果: 程序及运行结果:程序及运行结果:/lab6_1.cpp #include using namespace std;void move(int matrix3) int temp; for(int i=0;imatij; cout #include using namespace std;void move(int *matrix,int n)/矩阵为整型指针,对应一维数组int temp; for(int i=0;in; mat=new intn*n;coutmati*n+j;/数组形式cout #include using namesp
5、ace std;void move(int *matrix,int n)/矩阵为指向整型指针的指针,对应二维数组int temp; for(int i=0;in; mat=new int*n; for(i=0;imatij;/数组形式cout using namespace std;void strLL(char *a,char *b,char *c); void main() int i; char a10,b10,c20;couta;coutb;cout/使用 C+中的 string#include using namespace std;void main() string s1,s2;
6、couts1;couts2; s1+=s2; cout/使用 C 中的 string#include using namespace std;class Employee private:char name10,street20,city10,mail7;/姓名、街道、城市、邮编public: Employee(char *n,char *s,char *c,char *m); void display(); void change_name(char *n); ;Employee:Employee(char *n,char *s,char *c,char *m) strcpy(name,n)
7、; strcpy(street,s); strcpy(city,c); strcpy(mail,m); void Employee:display()cout using namespace std; void main() Employee emp5= Employee(“n1“,“s1“,“c1“,“m1“), Employee(“n2“,“s2“,“c2“,“m2“),Employee(“n3“,“s3“,“c3“,“m3“), Employee(“n4“,“s4“,“c4“,“m4“), Employee(“n5“,“s5“,“c5“,“m5“) ; for(int i=0;i #in
8、clude using namespace std;class Date private: int yy,mm,dd; public: Date() Date(Date int Getmm()const return mm; int Getdd()const return dd; void Setyy(int y) yy=y; void Setmm(int m) mm=m; void Setdd(int d) dd=d; ;class People private:char name11;/姓名,增添char number7; /编号,改为数组char sex3;/男或女,改为数组Date b
9、irthday;/出生日期char id16;/身份证号,改为数组public: People() People(People People()void Getname(char na) strcpy(na,name); void Getnumber(char nu) strcpy(nu,number); void Getsex(char se)strcpy(se,sex); int Getbirthyy()const return birthday.Getyy(); int Getbirthmm()const return birthday.Getmm(); int Getbirthdd()
10、const return birthday.Getdd(); void Getid(char d) strcpy(d,id); void Setname(char na) strcpy(name,na); void Setnumber(char nu) strcpy(number,nu); void Setsex(char se)strcpy(sex,se); void Setbirthyy(int y) birthday.Setyy(y); void Setbirthmm(int m) birthday.Setmm(m); void Setbirthdd(int d) birthday.Se
11、tdd(d); void Setid(char d) strcpy(id,d); void input(); void output(); ;People:People(People strcpy(number,p.number); strcpy(sex,p.sex); strcpy(id,p.id); inline void People:input() coutname;coutnumber;coutsex;coutymd; Setbirthyy(y); Setbirthmm(m); Setbirthdd(d);coutid;inline void People:output() cout using namespace std; void main() int i,j,m,n,*A;coutmn;A=new int*m; /m 行for(i=0;iAij;/数组形式cout using namespace std; void main() int *a=new int*2; a0=new int3; a1=new int2; a00=11; a01=12; a02=13; a10=21; a11=22; couta00“ “a01 “ “a02endl; couta10“ “a11 endl;
限制150内