第9章 查找最高分与次高分.docxVIP

 下载本文档

 66

 0

约3.47千字

约 6页

2017-10-13 发布于江西

 举报

 版权申诉

第9章 查找最高分与次高分.docx

 下载本文档

 关闭预览

 下载本文档

 收藏

 分享赚钱 奖

 0

下载提示 

文本预览 

常见问题

1、本文档共6页,可阅读全部内容。

2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。

3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。

4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。

5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。

6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。

7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。

8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档

查看更多

第9章 查找最高分与次高分

第九章实验报告1.基本信息实验项目名称:查找最高分与次高分实验类型:综合性实验班级:090615学号:2009061502姓名:丛远东实验日期:7月72.问题描述有512人参与玩某游戏,从1~512给每个人分配一个编号,每个人的游戏得分在0~999之间,现要用不同方法查找出游戏参与者的最高分和次高分。要求:自行产生512个的随机整数作为所有游戏参与者的得分。输出所有游戏参与者(用编号表示)及其得分。用顺序查找方法查找出其中取得最高分和次高分者及其分数,并输出。锦标赛法查找出其中取得最高分和次高分者及其分数,并输出。通过无序序列建堆和堆调整得到取得最高分者和次高分者及其分数,并输出。数据输入:无 随机产生数据输出:所有人的最高分和次高分3.数据结构设计 每个人的结构体为:typedefstruct{int no;//编号int grade;//成绩}node;node Person[520];4.算法设计1)使用rand()函数为每位学生产生随机成绩void Rand(){//产生随机分数 cout开始产生随机分数……endl;srand(time(NULL));//伪随机 加入种子函数for(inti=1;i=512;i++){ Person[i].no=i; Person[i].grade=rand()%1000;}cout随机分数产生完毕!endl;}2)使用顺序法查找最高分与次高分(我理解的次高分为不与最高分相同)首先设置一个较小值t,然后进行一次遍历,只要大于t,则与t进行交换。然后再进行一次遍历,寻找其中的最大值,且不与刚才的最大值相等。void Order(){//顺序查找法查找最高分和次高分 node high1,high2; high1.grade=-1;high1.no=-1; high2.grade=-1;high2.no=-1; for(inti=0;i=512;i++)//进行第一次循环,查询最高分if(Person[i].gradehigh1.grade){ //high2.no=high1.no; //high2.grade=high1.grade; high1.no=Person[i].no; high1.grade=Person[i].grade; } for(inti=0;i=512;i++)//进行第二次循环,查找次高分if(Person[i].gradehigh2.gradePerson[i].grade!=high1.grade){ high2.no=Person[i].no; high2.grade=Person[i].grade; } HIGH=high1.grade;cout最高分的玩家为Person high1.no 得分:high1.gradeendl;cout次高分的玩家为Person high2.no 得分:high2.gradeendl;}3)使用锦标赛法查找出其中取得最高分和次高分?首先把表中的n个人分为n/2个组,每两个相邻人分为一组,对每个组的两个人的分数进行比较,分数高的为优胜者,通过第一轮比较产生n/2个优胜者。同时对失败者进行比较,找出失败者中的最大值。但考虑到我要找的是不同于最高分的最大值,故还要加入判断,判断是否是最大值(我为了节省时间,用到了上次算法的结果,这样做不太好,可以先存储在计算,但是浪费时间和空间。)然后再将这n/2个数据进行重复运算,知道只剩最后一个,则为最高分,同时失败者产生的最高分为次高分,关键代码如下:intlen=512;//每次比较长度node high2; high2.grade=-1;high2.no=-1; for(inti=1;i=9;i++){//进行9次比较……int k=1; for(int j=1;j=len;j=j+2){//寻找每一段的最高分if(p[j].gradep[j+1].grade){p[k].grade=p[j].grade;p[k].no=p[j].no;if(p[j+1].gradehigh2.grade){ high2.no=p[j+1].no; high2.grade=p[j+1].grade; }

您可能关注的文档

爱丁堡大学工程学院.doc

煤矿综采队对标管理实施方案.doc

燃气灶维修(上课).ppt

爱我地球保护环境综合实践活动课程案例.doc

牛头刨床分析报告.doc

牛奶中酪蛋白与乳糖的分离.ppt

牙齿美白新知.doc

爷爷刘植炎的足迹doc.doc

爱琴文明是古希腊文明的开端。.ppt

牛顿环实验小论文 - 南京理工大学紫金学院-大学物理实验中心.doc

2025年公务员面试热点话题.doc

2025年公务员面试资料之部分面试题及答案.doc

2025年公务员面试模拟试题集.doc

10-深挖路堑专项施工方案.docx

《建设工程防渗漏施工实施指南》正式版.pdf

交工编号优选方案集.pdf

VMWare ESXI 定时与恢复使用手册至指定存储.pdf

附件客服工单系统同bomc-业务接口.pdf

中国近代史上的关键战役——淞沪会战.pdf

集成方法与实践应用.pdf

最近下载

人教版小学英语单词合集听写专用,可打印.docx

VIP

菱科LK530E变频器说明书V3.0.pdf

大模型在金融领域的价值、治理和生态进阶之路(2024).docx

高等数学讲义樊映川 .pdf

VIP

新改版教科版三年级上册科学全册教案教学设计(新课标版).docx

VIP

技术研发部岗位职责清单.docx

VIP

教科版三年级上册科学全册教案.pdf

VIP

产品研发体系建设.ppt

VIP

燃气蒸汽锅炉的管理制度.docx

VIP

联合利华产品研发体系.pdf

VIP

文档评论(0)

发表评论

pangzilva

+ 关注

实名认证

文档贡献者

该用户很懒,什么也没介绍

 咨询Ta

 进入空间

1亿VIP精品文档

更多 >

相关文档更多 >