欢迎来到天天文库
浏览记录
ID:61785005
大小:108.00 KB
页数:7页
时间:2021-03-20
《西南交大c++实验报告8.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验__8__实验报告教学班级:_26_学生学号:_201_学生姓名:__实验日期:__5.26___实验地点:_________(机房)指导教师签名:__________实验成绩:___________一、实验目的1.掌握对数值型一维数组的使用方法;2.掌握对数组的插入、删除、修改、排序和查找等常用算法。二、实验任务1.设有一批学生的程序设计课程的考试成绩(学生人数最多为N=100人,数据如下:学号姓名程序设计成绩2015112842余学成832015112324张思德72┇┇┇(提示:可以建立三个一维数组来存放学生
2、的数据,其中:学号为一个long类型的数组studentID,姓名为一个string类型的数组name,成绩为一个int类型的数组grade)(1)由键盘获取学生人数n,要求学生人数n的取值范围11到N-2;(2)由键盘获取学生的相关数据;(3)用选择排序法将学生的数据按学号进行升序排列并输出排序后的学生数据;2.在任务1的基础上,在学生数据中,完成以下任务:(1)键盘输入一个学生的学号,用折半查找法查找是否有该学生,若有该学生则输出该学生的所有信息,按如下格式输出:学号姓名程序设计成绩2015112324张思德72若
3、没有该学生,则输出“查无此人”的信息。(2)插入一个新学生的数据,要求插入后学生的数据任按学号升序排列。⒊在任务1的基础上,在学生数据中,完成以下任务:⑴用选择排序法将学生数据按学生程序设计课程成绩降序排列。⑵键盘输入一个学生的学号和程序设计课程的新成绩,在学生数据中查找是否有该学生,若有该学生则用键盘输入的新成绩替换该学生的原成绩,否则输出“查无此人”的信息。三、实验结果(源程序+注释)//输入并升序排列学生的成绩#include#include#includeu
4、singnamespacestd;voidmain(){cout<<"Name:"<>n;//从键盘输入学生的人数for(i=0;i<=n-1;i++)//利用循
5、环结构录入各学生的信息{cout<<"请依次输入第"<>studentID[i]>>name[i]>>grade[i];}for(i=0;i<=n-1;i++)//利用嵌套循环和条件语句将信息按学号进行升序排列{for(j=i+1;j<=n-1;j++){if(studentID[i]>studentID[j]){trans1=studentID[i];studentID[i]=studentID[j];studentID[j]=trans1;trans2=
6、name[i];name[i]=name[j];name[j]=trans2;trans3=grade[i];grade[i]=grade[j];grade[j]=trans3;}}}cout<<"按学号升序排序后学生的成绩信息为:"<7、tw(10)<>number;while(top<=bot)//折半查找法查找信息库中某个学号的学生{mid=(bot+top)/2;if(studentID[mid]==number)break;elseif(studentID[mid]>number)top=mid8、+1;elseif(studentID[mid]=top)//当这个学生存在时,以特定格式输出该学生的信息{cout<<"该学生的信息为:"<
7、tw(10)<>number;while(top<=bot)//折半查找法查找信息库中某个学号的学生{mid=(bot+top)/2;if(studentID[mid]==number)break;elseif(studentID[mid]>number)top=mid
8、+1;elseif(studentID[mid]=top)//当这个学生存在时,以特定格式输出该学生的信息{cout<<"该学生的信息为:"<
此文档下载收益归作者所有