中易网

C++高手求解在10000个数中找出第二大的数不使用排序法!!

答案:2  悬赏:30  
解决时间 2021-12-15 12:55
C++高手求解在10000个数中找出第二大的数不使用排序法!!
最佳答案
int a[10000],x1,x2,i;
读入a[]
if(a[0]>a[1]) x1=a[0],x2=a[1];
else x1=a[1],x2=a[0];

for(i=2;i<10000;i++)
if(a[i]>=x1) x2=x1,x1=a[i];
else if(a[i]>x2) x2=a[i];

最后得到x1为最大值,x2为第二大值

这个方法和一遍求最大值是一样的,只是多个判断,并且同时维护两个值
核心代码翻译成自然语言就是:
i从2到10000-1
如果a[i]比当前最大值要大,那么当前第二大值更新为当前最大值,当前最大值更新为a[i](注意当a[i]==x1时也要更新,因为两者相同时可以更新第二大值)
否则a[i]比第二大值大,即a[i]在当前最大和第二大值之间,那么只需要更新第二大的值
全部回答
你好! 利用变量存储第一大,第二大的数,并通过遍历所有的数,将存储的两个数不断更新,最终就能得到最大的数。 希望对你有所帮助,望采纳。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
地都工商所地址有知道的么?有点事想过去!
遺萼的意思是什么?遺萼的释义是什么啊?
一面是美女一面是螃蟹是哪国钱?
揭阳市工商局榕城分局新兴工商所地址有知道的
娶了一个不讲理有公主脾气任性自私的老婆好累
贡墨的意思是什么啊?请解释下!
南憲的意思是什么?南憲的释义是什么啊?
江苏吴江是籍贯吗
没有房产证可抵押房屋贷款吗
揭阳市中山工商所地址在哪,我要去那里办事
我的电脑笔记本雷神911EIb英雄联盟主要是5人
有谁知道错过了自己学校09年六月的大学英语四
普宁市工商局城西工商所地址在什么地方,想过
腾讯动漫看漫画并下载用流量用的到多少m呀
雪梅的意思是什么啊?请解释下!
推荐资讯
子熊故事好不好看!
採沐的意思是什么?採沐的释义是什么啊?
youhavetocleanyourroom什么意思
通堙的意思是什么啊?请解释下!
腐浊的意思是什么?腐浊的释义是什么啊?
在广州考驾照,已经考了几科了,还剩下最后一
玻璃纖維的意思是什么?玻璃纖維的释义是什么
我国1月河流断流
分手两年了又梦到前男友,说明什么
轿车有羊角吗?术语是什么!
吉康畜禽防治服务部地址有知道的么?有点事想
柯桥汽站离之江学院打的要多少钱
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?