永发信息网

C语言 求一个数组中M大的数,不用排序的方法

答案:2  悬赏:30  手机版
解决时间 2021-04-05 14:49
  • 提问者网友:杀手的诗
  • 2021-04-04 22:13
C语言 求一个数组中M大的数,不用排序的方法
最佳答案
  • 五星知识达人网友:野味小生
  • 2021-04-04 22:21
采用依次求最大值的方法,第一次找 最最大的值,第二次找 2号最大值,第3 次 找 3号最大值 ... 不用开新数组,就用 a[] 前 M 个单元放 最大值:

#include
#define M 3
#define N 10

void main()
{
int a[N],i,j,k,l;
int max[M];
printf("please enter a:");
for(i=0;ifor (j=0;j{
k=j;
for (i=j+1;ia[k]) k=i;
if (k != j) {l=a[k];a[k]=a[j];a[j]=l;};
}
for (j=0;jsystem("pause");
}

算例:
输入:1 4 9 7 10 22 2 1 4 -1
得 22 10 9
全部回答
  • 1楼网友:何以畏孤独
  • 2021-04-04 22:32
我想说你这么费事不就是为了输出最大的几个数吗,先排序,从大到小,然后再输出地时候改一下,只输出前几个数不就OK了?
对了,我也是新手,我们寝室断电了,明天我把程序调试一下把代码发上来吧,互相借鉴一下
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯