数组c 语言程序设计实验答案_数组、指针与字符串

字符串数组  时间:2021-02-10  阅读:()

实验06数组、指针与字符串(4学时)

(第6章数组、指针与字符串)

一、实验目的

二、实验任务

6_1(习题6-25)编写并测试3X 3矩阵转置函数使用数组保存3X 3矩阵。

6_2(习题6-26)使用动态内存分配生成动态数组来重新完成上题(n阶方阵)使用指针实现函数的功能。

6_3编程实现两字符串的连接。要求使用字符数组保存字符串不要使用系统函数。

6_4使用string类声明字符串对象重新实现上一小题。

6_5(习题6-27)声明一个Employee类。

其中包括姓名、街道地址、城市和邮编等属性以及change_name()和display。等函数。display。显示姓名、街道地址、城市和邮编等属性 change」 ame()改变对象的姓名属性实现并测试这个类。

6_6(习题6-27)声明包含5个元素的对象数组每个元素都是 Employee类型的对象。

6_7修改实验4中的people(人员)类。

具有的属性如下姓名char name[1 1]、编号char number[7]、性别char sex[3]、生日birthday、身份证号char id[16] 。其中"出生日期”声明为一个"日期”类内嵌子对象。

用成员函数实现对人员信息的录入和显示。

要求包括构造函数和析构函数、拷贝构造函数、 内联成员函数、聚集。

在测试程序中声明people类的对象数组录入数据并显示。

1

三、实验步骤

1.(编程 习题6-25)编写矩阵转置函数输入参数为 3X 3整型数组

使用循环语句实现矩阵元素的行列对调注意在循环语句中究竟需要对哪些元素进行操作编写main()函数实现输入输出。程序名 Iab6_1 .cpp。

参考运行结果g C: \TlMI)OIS\syst men

★程序及运行结果

〃 lab6_1 .cpp

#in elude<iostream>using namespace std;void move( int matrix[][3]){int temp;for(int i=0; i<3; i++)for (i nt j=0;j<i ;j++){temp=matrix[i][j];matrix[i][j]=matrix[j][i];matrix[j][i]=temp;

}

}void mai n(){int i ,j,mat[3][3];cout<<"输入3 X3矩阵"<<endl ; for(i=0; i<3; i++){cout<<"第"<<i+1<< "行 ";for (j=0;j<3;j++)cin>>mat[i][j];

}cout<<"\n输入的3 X3矩阵为 "<<endl ;fo r(i=0; i<3; i++){fo r(j=0;j<3;j++)cout<<mat[i][j]<<"";cout<<e ndl ;

}move(mat);

2

cout<<"转置后的矩阵为 "<<end l ;fo r(i=0; i<3; i++){for(j=0;j<3;j++)cout<<*(*(mat+i)+j)<<" ”; 〃指针形式cout<<e ndl ;

}

}

2.(编程 习题6-26)编写nxn阶矩阵转置函数参数为整型指针。

使用指针对数组元素进行操作在 main()函数中使用new操作符分配内存生成动态数组。通过调试功能观察指针的内容及其所指的对象中的内容。程序名 Iab6_2.cpp。注可使用一维动态数组或二维动态数组。

★程序及运行结果

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

3

(2)使用二维动态数组表示方阵。 (参考实验提示) 〃 lab6_2.cpp

4

5

3. 编程实现两字符串的连接。

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

用cin实现输入注意字符串的结束标志是ASCI I码0使用循环语句进行字符串间的字符拷贝。 〃字符串的结束标志'\0'

参考运行结果

★程序及运行结果

〃 lab6_3.cpp

#in clude<iostream>using namespace std;void strLL(char *a,char *b,char *c);void mai n(){int i ;char a[10],b[10],c[20];cout<<"输入一个字符串a: ";cin>>a;cout<<"显示内存中的字符串 a ";fo r(i=0; i<10; i++){if(a[i])cout<<a[i]; 〃a[i]不为0else{cout<<"\'\\0\'" ;//转义

6

4.(编程)使用string类声明字符串对象实现两字符串的连接。在string类中已重载了运算符“+=”实现字符串的连接可以使用这个功能。程序名:

Iab6_4.cpp。

★程序及运行结果

〃 lab6_4.cpp

#include<string>//使用C++中的string

#in clude<iostream>using namespace std;void mai n(){

7

stri ng s1,s2;cout<<"输入字符串s 1  ";cin>>s1;cout<<"输入字符串s2 ";cin>>s2;s1+=s2;cout<<"s1+s2="<<s1<<endl ;

}

成员都可以用字符数组来表示。

成 员 函 数 构造函数用来初始化所有成员数组 对字符数组的赋值可以使用字符串拷贝函数strcpy(char *,char *name)display。 使用cout显示姓名、街道地址、城市和邮编等属性c ha ng e_name( ) 改变类中表示姓名属性的字符数组类型的数据成员。在主程序中声明这个类的对象并对其进行操作。程序名 l a b 6 _ 5 . c p p 。参 考 运 行 结 果 

★程序及运行结果

8

void display。 void change_name(char *n);

}

Employee: :Employee(char *n,char *s,char *c,char *m){strcpy(n ame,n); strcpy(street,s);strcpy(city,c);strcpy(mai l ,m);

}void Employee: :display(){cout<<"姓名 "<<n ame<<e ndl ;cout<<"街道 "<<street<<e ndl ;cout<<"城市 "<<city<<e ndl ;cout<<"邮编 "<<mai l<<e ndl ;void Employee: :cha nge n ame( char *n){strcpy( name, n); }

〃 lab6_5.cpp

#in clude"lab6_5employee.h"void mai n(){

Employee emp("张山","海甸三西路13号","海口市","570228");emp.display();emp.change_name("李世");cout<<e ndl ;emp.display();

}

6 编程 习题6-27使用上一小题中的Employee类声明对象数组emp[5]使用循环语句把数据显示出来。程序名 lab6_6.cpp o

参考运行结果

9

JustHost,最新高性价比超便宜俄罗斯CN2 VPS云服务器终身8折优惠,最低仅8元/月起,200Mbps带宽不限流量,五大机房自助自由切换,免费更换IP,俄罗斯cn2vps怎么样,justhost云服务器速度及综合性能详细测评报告

主机参考最新消息:JustHost怎么样?JustHost服务器好不好?JustHost好不好?JustHost是一家成立于2006年的俄罗斯服务器提供商,支持支付宝付款,服务器价格便宜,200Mbps大带宽不限流量,支持免费更换5次IP,支持控制面板自由切换机房,目前JustHost有俄罗斯5个机房可以自由切换选择,最重要的还是价格真的特别便宜,最低只需要87卢布/月,约8.5元/月起!just...

无忧云:洛阳/大连BGP云服务器38.4元/月,雅安物理机服务器315元/月起,香港荃湾CN2限时5折优惠

无忧云怎么样?无忧云是一家成立于2017年的老牌商家旗下的服务器销售品牌,现由深圳市云上无忧网络科技有限公司运营,是正规持证IDC/ISP/IRCS商家,主要销售国内、中国香港、国外服务器产品,线路有腾讯云国外线路、自营香港CN2线路等,都是中国大陆直连线路,非常适合免备案建站业务需求和各种负载较高的项目,同时国内服务器也有多个BGP以及高防节点,目前商家开启了夏日清凉补贴活动,商家的机器还是非常...

2022年腾讯云新春采购季代金券提前领 领取满减优惠券和域名优惠

2022年春节假期陆续结束,根据惯例在春节之后各大云服务商会继续开始一年的促销活动。今年二月中旬会开启新春采购季的活动,我们已经看到腾讯云商家在春节期间已经有预告活动。当时已经看到有抢先优惠促销活动,目前我们企业和个人可以领取腾讯云代金券满减活动,以及企业用户可以领取域名优惠低至.COM域名1元。 直达链接 - 腾讯云新春采购活动抢先看活动时间:2022年1月20日至2022年2月15日我们可以在...

字符串数组为你推荐
郭彩妮介紹點好聽的音樂給我、大家百度抢票浏览器百度浏览器怎么抢票?flash导航条如何添加FLASH导航条bluestacks安卓模拟器BlueStacks如何安装使用?网站运营刚创业的网站运营怎么做?http与https的区别http和https到底有什么区别啊???显卡温度多少正常显卡温度是多少才算正常的?数码资源网安卓有没有可以离线刷题的软件?硬盘人什么叫“软盘人”和“硬盘人”?创维云电视功能什么是创维云电视啊?创维云电视是什么意思?
免费网站域名注册 godaddy域名解析教程 什么是二级域名 lnmp google镜像 buyvm webhosting 账号泄露 patcha win8.1企业版升级win10 坐公交投2700元 dux 域名转向 百兆独享 gspeed me空间社区 nerds 免费测手机号 息壤代理 vip域名 更多