鸿 网 互 联 www.68idc.cn

当前位置 : 服务器租用 > 手机系统开发 > J2ME > >

从10000个数中找出前5大的数

来源:互联网 作者:佚名 时间:2015-09-25 05:41
我的想法是遍历一遍10000 个数 的数组,找最大的放在额外定义的数组的第一个位置,次大的放在第2个位置,以此继续到第5个位置。 各位如有更好的办法,留言告知,thanks /* Author:panda time:2011-10-26 从10000 个数 中找出前5大的数 */ 1 #include stdio.h
 
我的想法是遍历一遍10000个数的数组,找最大的放在额外定义的数组的第一个位置,次大的放在第2个位置,以此继续到第5个位置。
各位如有更好的办法,留言告知,thanks

/* Author:panda  time:2011-10-26    从10000个数中找出前5大的数  */

  1 #include <stdio.h>
  2 #include <stdlib.h>
  3
  4 int main(void)
  5 {
  6         int b[10000];
  7         int a[5]={0};
  8         int i,j = 0;
  9         for(i = 0;i < 10000;i++)
 10         {
 11                 b[i] = rand() % 10000;
 12         }
 13         for(i = 0;i < 10000;i++)
 14         {
 15                 if(a[j] < b[i])
 16                 {
 17                         a[j] = b[i];
 18                 }
 19                 else if(a[j+1] < b[i])
 20                 {
 21                         a[j+1] = b[i];
 22                 }
 23                 else if(a[j+2] < b[i])
 24                 {
 25                         a[j+2] = b[i];
 26                 }
 27                 else if(a[j+3] < b[i])
 28                 {
 29                         a[j+3] = b[i];
 30                 }
 31                 else if(a[j+4] < b[i])
 32                 {
 33                         a[j+4] = b[i];
 34                 }
 35
 36         }
 37
 38         for(i = 0;i < 5 ;i++)
 39         {
 40                 printf("%d\t",a[i]);
 41         }
 42         return 0;
 43 }
 44
 45

网友评论
<