实验4 构造类型、指针何引用
更新时间:2024-01-29 00:39: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 构造类型、指针何引用01-29
改良负压封闭引流装置的效果观察及护理08-09
当前城市道路交通存在的问题原因及建议04-08
新生儿黄疸护理干预的临床效果观察05-02
团委换届工作报告03-18
电话销售实战技巧112-26
厦门大学 实验八 集成运算放大器的应用-运算器实验报告06-10
香港酒店中英文名对照06-11
《如果我爱你》——村上春树02-14
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 指针
- 构造
- 引用
- 类型
- 实验
- 名著导读之《红星照耀中国》
- 机耕道(施工组织设计) - 图文
- 2012年学业水平测试地理考前讲话 - 图文
- 法院案件质量与效率评估考核办法
- 2016年浙江省行政执法资格考试判断题
- 免疫球蛋白
- 农业工作会议主持词 - 图文
- 关于贯彻落实中央八项规定精神 进一步深化作风建设实施细则
- 电子商务期末考试复习题
- 会考复习:硫及其化合物
- 小学体育与健康人教版五至六年级韵律活动和舞蹈《3.卡通韵律操:玩具兵进行曲》公开教师资格证面试试讲教案
- 哲学思维方式与领导工作方法
- 医学免疫学考试题库重点带答案 第3章
- 褐煤处理系统可行性分析
- 机械能守恒定律经典习题
- 领导科学与艺术试题及答案
- 咖啡厅创业计划书
- 2018考研英语高分必备:这技巧真的很实用
- 加压站施工方案(终版) - 图文
- 《资本运营理论与实务》自考各章习题及重点复习资料