实验4 构造类型、指针何引用
更新时间:2024-04-19 07:30:01 阅读量: 综合文库 文档下载
- 实验4推荐度:
- 相关推荐
实验内容
(1)程序:采用插入排序的方法,输入10个整数按升序排列后输出。要求编写一个通用的插入排序函数,它带有3个参数:第1个参数是含有个元素的数组,这个元素已按升序排序;第2个参数给出当前数组中元素个数;第3个参数是要插入的整数。该函数的功能是将一个整数插入到数组中,然后进行排序。另外还需要一个用于输出数组元素的函数,要求每一行输出5个元素。
(2)程序Ex_Student:有5个学生,每个学生的数据结构包括学号、姓名、年龄、C++成绩。数学成绩和英语成绩、总平均分,从键盘输入5个学生的学号、姓名、3门课的成绩,计算3门课的总平均分,最后将5个学生的数据输出。要求各个功能用函数来实现,例如(设学生数据结构体类型名为STUDENT):
STUDENTInputDataO; //输入学生数据,返回此结构体类型数据 void CalAverage(STUDENT*data,int nNum); //计算总平均分 void PrintData(STUDENT*data,int nNum); //将学生数据输出
实验准备和说明
(1) 在学习完第一章内容之后进行本次实验。 (2) 编写本次上机说需要的程序。
实验步骤
1.创建工作文件夹
打开计算机,在“D:\\Visual C++程序\\LiNing”文件夹中创建一个新的子文件夹“实验4”
2.输入并运行程序Ex_Sort.cpp
输入并运行程序Ex_Sort.cpp的具体步骤如下。 (1)启动VisualC++6.0.
(2)单击标准工具栏上的 “New Text File”按钮 ,在新打开的文档窗口中输入下列程序代码:
#inclde
viod InsertSort(int data[],int&n,int a) \\\\行参n为引用,以便能返回修改后的n值 { int i;
for(i=0;i if(a<=data[i])break; { if(a<= =n)data[n]=a; } if(i==n)data[n]=a; else { for(int j=n;j>i;i--) data[j]=data[j-1]; data[i]=a; } n++; \\\\插入后,数组元素个数增加一个 } void Print(int data[],int n) { for(int i=0;i cout< if((i+1)%5==0)cout< } cout< void main() { int data[10],nNum=0,m; for(int i=0;i<10,i++) { cout<<”输入第”<>m; insertSort(data,nNum,m); } print(data,nNum); } 代码中,插入排序函数InsertSort最需要考虑的是当一个整数a插入到数组大的data (设数组元素个数为n)中时满足下列几个条件 ①要按升序确定该元素a要插入的位置; ②当插入的位置i为最后的n时,直接令data [n] =a时。此时数组元素的个数为n+1; ③当插入的位置i不是最后和n时,则该位置的后面元素要依次后移一个位置,然后令data [i] =a,数组元素为n+1。 (3 )单击标准工具栏Save按钮,弹出“保存为”文件对话框。将文件定位到“D?\\VisualC + + 程序\\LingMing \\实验4”,文件名为ExSort .cpp. (4 )编译运行后。输入下列进行测试,看看结果是否正确,并分析函数 InsertSort。 25 78 90 12 10 100 33 44 22 55 想一想 若用简单链表实现Ex-Sort的功能,则应如何编程? 3.输入并运行程序Ex?Student.cpp 输入并运行程序Ex?Student.cpp的具体步骤如下。 (1 )选择“文件” →“关闭工作区”,关闭原来的项目。 (2 )单击标准工具栏上的“New Text Fil”的按钮,在心打开的文档窗口中输入下列程序代码? #include〈iostream.h〉 structSTUDENT ??定义结构类型 { char name[8]; //姓名 char id[10]; //学号 int score[3]; //3门课的成绩 double ave; //平均分 }; STUENT Inputdata() // 输入 { STUDENT sut cout<<“姓名:”; cin>>sut.nane; cout<<“学号:”; cin>>stu.id; int avtResult=0; cout<<“三门成绩:”; cin>>stu.score[0]>>stu.score[1]>>stu.score[2]; return sut; } void CalAverage(STUDENT *data,int nNum) { for(int i=0;i data[i].ave=(data[i].score[0]+data[i].score[1]+data[i].score[0]/3.0; } void PrintDATA(STUDENT *data,int nNum) { cout<<”\\n学号\\t姓名\\t成绩1\\t成绩2\\t成绩3\\t平均分\\n”; for (int i=0; i cout< cout<<”\\t”< void main() { const int stuNum=5; STUDENT stu[stuNum=5]; for (int i=0;i cout<<”输入第” < CalAverage(,stuNum); //计算平均分 printData(stu,stuNum); //输入学生数据 } (3)单击标准工具栏的Save 按钮,弹出“保存为“文件对话框,将文件保存为Ex-Student.cpp。 (4) 编译运行并测试。 4.退出 Visual C++ 6.0 5.写出实验报告 结合思考与练习题,写出实验报告。 思考与练习 (1)在Ex-Student程序中,若学生的人数不定,则程序应如何修改? (2)在Ex-Student程序中,若有一个函数SortPrintData用于对学生数据按平均分 进行排序并输入,则该函数应如何实现?
正在阅读:
实验4 构造类型、指针何引用04-19
研究报告-2018-2024年美瞳隐形眼镜市场运营模式分析及发展趋势预测研究(目录) - 图文10-06
2011湖南省预防医学总结包过题库04-22
VF模拟试题 及答案11-11
台北101工程介绍 - 图文11-08
高压旋喷桩试验段总结 - 图文04-03
社会实践部工作总结04-14
2008年3月预备党员思想汇报(最新)02-24
清源路交通导改方案 - 图文11-25
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 指针
- 构造
- 引用
- 类型
- 实验
- 2016年尔雅食品安全与日常饮食习题答案
- 外研版高一英语必修二期末检测题
- 公司风险隔离制度
- 免疫球蛋白
- 遥感基础实习 - 图文
- 易制爆危险化学品丢失被盗报告制度
- 加压站施工方案(终版) - 图文
- 《资本运营理论与实务》自考各章习题及重点复习资料
- 小学体育与健康人教版五至六年级韵律活动和舞蹈《3.卡通韵律操:
- 辽宁省机关事业单位基本养老保险业务经办规程
- 羰基的亲核加成反应 与魏悌希(Wittig)试剂的反应
- 安装场混凝土浇筑施工技术措施
- 发挥女工职能 夯实基础管理
- 在引进高层次人才座谈会上的讲话
- 武汉市城中村改造文件汇编20120412
- 互换性与技术测量基础第二版课后答案
- 兰州交大结构力学教案之影响线
- “材料科学与工程基础”第二章习题 答案题目整合版 - 图文
- 针对幼儿的课题研究
- 18种天然氨基酸分析