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