C++语言程序设计实验答案数组指针与字符串Word下载.docx

上传人:b****1 文档编号:1521262 上传时间:2023-04-30 格式:DOCX 页数:20 大小:123.92KB
下载 相关 举报
C++语言程序设计实验答案数组指针与字符串Word下载.docx_第1页
第1页 / 共20页
C++语言程序设计实验答案数组指针与字符串Word下载.docx_第2页
第2页 / 共20页
C++语言程序设计实验答案数组指针与字符串Word下载.docx_第3页
第3页 / 共20页
C++语言程序设计实验答案数组指针与字符串Word下载.docx_第4页
第4页 / 共20页
C++语言程序设计实验答案数组指针与字符串Word下载.docx_第5页
第5页 / 共20页
C++语言程序设计实验答案数组指针与字符串Word下载.docx_第6页
第6页 / 共20页
C++语言程序设计实验答案数组指针与字符串Word下载.docx_第7页
第7页 / 共20页
C++语言程序设计实验答案数组指针与字符串Word下载.docx_第8页
第8页 / 共20页
C++语言程序设计实验答案数组指针与字符串Word下载.docx_第9页
第9页 / 共20页
C++语言程序设计实验答案数组指针与字符串Word下载.docx_第10页
第10页 / 共20页
C++语言程序设计实验答案数组指针与字符串Word下载.docx_第11页
第11页 / 共20页
C++语言程序设计实验答案数组指针与字符串Word下载.docx_第12页
第12页 / 共20页
C++语言程序设计实验答案数组指针与字符串Word下载.docx_第13页
第13页 / 共20页
C++语言程序设计实验答案数组指针与字符串Word下载.docx_第14页
第14页 / 共20页
C++语言程序设计实验答案数组指针与字符串Word下载.docx_第15页
第15页 / 共20页
C++语言程序设计实验答案数组指针与字符串Word下载.docx_第16页
第16页 / 共20页
C++语言程序设计实验答案数组指针与字符串Word下载.docx_第17页
第17页 / 共20页
C++语言程序设计实验答案数组指针与字符串Word下载.docx_第18页
第18页 / 共20页
C++语言程序设计实验答案数组指针与字符串Word下载.docx_第19页
第19页 / 共20页
C++语言程序设计实验答案数组指针与字符串Word下载.docx_第20页
第20页 / 共20页
亲,该文档总共20页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

C++语言程序设计实验答案数组指针与字符串Word下载.docx

《C++语言程序设计实验答案数组指针与字符串Word下载.docx》由会员分享,可在线阅读,更多相关《C++语言程序设计实验答案数组指针与字符串Word下载.docx(20页珍藏版)》请在冰点文库上搜索。

C++语言程序设计实验答案数组指针与字符串Word下载.docx

★程序及运行结果:

//lab6_1.cpp

#include<

iostream>

usingnamespacestd;

voidmove(intmatrix[][3]){

inttemp;

for(inti=0;

i<

3;

i++)

for(intj=0;

j<

i;

j++){

temp=matrix[i][j];

matrix[i][j]=matrix[j][i];

matrix[j][i]=temp;

}

}

voidmain(){

inti,j,mat[3][3];

cout<

<

"

输入3×

3矩阵"

endl;

for(i=0;

i++){

cout<

第"

i+1<

行:

;

for(j=0;

j++)cin>

>

mat[i][j];

}

\n输入的3×

3矩阵为:

j++)

cout<

mat[i][j]<

"

move(mat);

转置后的矩阵为:

*(*(mat+i)+j)<

//指针形式

2.(编程,习题6-26)编写n×

n阶矩阵转置函数,参数为整型指针。

使用指针对数组元素进行操作,在main()函数中使用new操作符分配内存生成动态数组。

通过调试功能观察指针的内容及其所指的对象中的内容。

lab6_2.cpp。

注:

可使用一维动态数组,或二维动态数组。

(1)使用一维动态数组表示方阵。

//lab6_2.cpp

iomanip>

voidmove(int*matrix,intn){//矩阵为整型指针,对应一维数组

n;

temp=matrix[i*n+j];

matrix[i*n+j]=matrix[j*n+i];

matrix[j*n+i]=temp;

inti,j,n,*mat;

输入方阵的阶数:

cin>

mat=newint[n*n];

输入"

n<

×

矩阵"

mat[i*n+j];

//数组形式

\n输入的矩阵为:

setw(4)<

move(mat,n);

*(mat+i*n+j);

delete[]mat;

(2)使用二维动态数组表示方阵。

(参考实验提示)

voidmove(int**matrix,intn){//矩阵为指向整型指针的指针,对应二维数组

inti,j,n,**mat;

mat=newint*[n];

i++)mat[i]=newint[n];

*(*(mat+i)+j);

3.(编程)实现两字符串的连接。

声明字符数组保存字符串,在程序中提示用户输入两个字符串,实现两个字符串的连接,最后用cout语句显示输出。

lab6_3.cpp。

用cin实现输入,注意,字符串的结束标志是ASCII码0,使用循环语句进行字符串间的字符拷贝。

//字符串的结束标志'

\0'

//lab6_3.cpp

voidstrLL(char*a,char*b,char*c);

inti;

chara[10],b[10],c[20];

输入一个字符串a:

a;

显示内存中的字符串a:

10;

if(a[i])cout<

a[i];

//a[i]不为0

else{

\'

\\0\'

//转义

break;

\n输入另一个字符串b:

b;

显示内存中的字符串b:

b<

strLL(a,b,c);

\n显示内存中的连接字符串c:

20;

if(c[i])cout<

c[i];

else{cout<

break;

voidstrLL(char*a,char*b,char*c){

inti,j;

i++)c[i]=a[i];

//循环直到a[i]为0

for(j=0;

b[j];

i++,j++)c[i]=b[j];

c[i]=0;

4.(编程)使用string类声明字符串对象,实现两字符串的连接。

在string类中已重载了运算符“+=”实现字符串的连接,可以使用这个功能。

lab6_4.cpp。

//lab6_4.cpp

string>

//使用C++中的string

strings1,s2;

输入字符串s1:

s1;

输入字符串s2:

s2;

s1+=s2;

s1+s2="

s1<

5.(编程,习题6-27)声明Employee类并应用。

在employee.h文件中声明Employee类。

Employee类具有姓名、街道地址、城市和邮编等私有数据成员,都可以用字符数组来表示。

成员函数:

构造函数用来初始化所有成员数组,对字符数组的赋值可以使用字符串拷贝函数strcpy(char*,char*name);

display()使用cout显示姓名、街道地址、城市和邮编等属性;

change_name()改变类中表示姓名属性的字符数组类型的数据成员。

在主程序中声明这个类的对象并对其进行操作。

lab6_5.cpp。

//lab6_5employee.h

cstring>

//使用C中的string

classEmployee{

private:

charname[10],street[20],city[10],mail[7];

//姓名、街道、城市、邮编

public:

Employee(char*n,char*s,char*c,char*m);

voiddisplay();

voidchange_name(char*n);

};

Employee:

:

Employee(char*n,char*s,char*c,char*m){

strcpy(name,n);

strcpy(street,s);

strcpy(city,c);

strcpy(mail,m);

voidEmployee:

display(){

姓名:

name<

街道:

street<

城市:

city<

邮编:

mail<

change_name(char*n){strcpy(name,n);

//lab6_5.cpp

#include"

lab6_5employee.h"

Employeeemp("

张山"

"

海甸三西路13号"

海口市"

570228"

);

emp.display();

emp.change_name("

李世"

6.(编程,习题6-27)使用上一小题中的Employee类声明对象数组emp[5]。

使用循环语句把数据显示出来。

lab6_6.cpp。

//lab6_6.cpp

Employeeemp[5]={Employee("

n1"

s1"

c1"

m1"

),

Employee("

n2"

s2"

c2"

m2"

n3"

s3"

c3"

m3"

n4"

s4"

c4"

m4"

n5"

s5"

c5"

m5"

)};

5;

emp[i].display();

7.(编程)修改实验4中的people(人员)类。

lab6_7.cpp。

(1)lab6_7.h:

People(人员)类的声明及成员函数的实现

//lab6_7.h

classDate{

intyy,mm,dd;

Date(){}

Date(Date&

d):

yy(d.yy),mm(d.mm),dd(d.dd){}//增添

~Date(){}

intGetyy()const{returnyy;

intGetmm()const{returnmm;

intGetdd()const{returndd;

voidSetyy(inty){yy=y;

voidSetmm(intm){mm=m;

voidSetdd(intd){dd=d;

classPeople{

charname[11];

//姓名,增添

charnumber[7];

//编号,改为数组

charsex[3];

//男或女,改为数组

Datebirthday;

//出生日期

charid[16];

//身份证号,改为数组

People(){}

People(People&

p);

~People(){}

voidGetname(charna[]){strcpy(na,name);

voidGetnumber(charnu[]){strcpy(nu,number);

voidGetsex(charse[]){strcpy(se,sex);

intGetbirthyy()const{returnbirthday.Getyy();

intGetbirthmm()const{returnbirthday.Getmm();

intGetbirthdd()const{returnbirthday.Getdd();

voidGetid(chard[]){strcpy(d,id);

voidSetname(charna[]){strcpy(name,na);

voidSetnumber(charnu[]){strcpy(number,nu);

voidSetsex(charse[]){strcpy(sex,se);

voidSetbirthyy(inty){birthday.Setyy(y);

voidSetbirthmm(intm){birthday.Setmm(m);

voidSetbirthdd(intd){birthday.Setdd(d);

voidSetid(chard[]){strcpy(id,d);

voidinput();

voidoutput();

People:

People(People&

p)

birthday(p.birthday)

{

strcpy(name,p.name);

strcpy(number,p.number);

strcpy(sex,p.sex);

strcpy(id,p.id);

inlinevoidPeople:

input()

name;

编号:

number;

性别(男/女):

sex;

出生日期(年月日):

inty,m,d;

y>

m>

d;

Setbirthyy(y);

Setbirthmm(m);

Setbirthdd(d);

身份证号:

id;

output()

\n编号:

number<

性别:

sex<

出生日期:

Getbirthyy()<

年"

<

Getbirthmm()<

月"

Getbirthdd()<

日"

id<

(2)lab6_7.cpp:

主函数(输入、输出和拷贝构造函数测试)

//lab6_7.cpp

lab6_7.h"

Peoplep;

p.input();

p.output();

Peoplepp(p);

pp.output();

(3)结果

四、实验提示

步骤2提示

二维数组动态分配空间

示例1m×

n矩阵

#include<

inti,j,m,n,**A;

输入矩阵的行数m和列数n:

A=newint*[m];

//m行

m;

i++)A[i]=newint[n];

//n列

m<

A[i][j];

示例2不规范的矩阵

int**a=newint*[2];

a[0]=newint[3];

a[1]=newint[2];

a[0][0]=11;

a[0][1]=12;

a[0][2]=13;

a[1][0]=21;

a[1][1]=22;

a[0][0]<

a[0][1]<

a[0][2]<

a[1][0]<

a[1][1]<

 

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2