题目描述:
-
浙江桐乡乌镇共有n个人,请找出该镇上的前m个大富翁.
输入:
-
输入包含多组测试用例.
每个用例首先包含2个整数n(0<n<=100000)和m(0<m<=10),其中: n为镇上的人数,m为需要找出的大富翁数, 接下来一行输入镇上n个人的财富值.
n和m同时为0时表示输入结束.
输出:
-
请输出乌镇前m个大富翁的财产数,财产多的排前面,如果大富翁不足m个,则全部输出,每组输出占一行.
样例输入:
-
3 1
2 5 -1
5 3
1 2 3 4 5
0 0
样例输出:
-
5
5 4 3
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int money[100001];//大富翁的财产
//排序函数
int cmp(const void *a,const void *b){
return *(int *)b - *(int *)a;
}
int main()
{
int n,i,m;
while(scanf("%d %d",&n,&m)!=EOF && n != 0 && m != 0)
{
for(i = 0;i < n;i++){
scanf("%d",&money[i]);
}
qsort(money,n,sizeof(money[0]),cmp);
int index = n < m?n:m;
for(i = 0;i < index;i++)
{
if(i == index-1){
printf("%d\n",money[i]);
}
else{
printf("%d ",money[i]);
}
}
}
return 0;
}
/**************************************************************
Problem: 1034
User: Carvin
Language: C++
Result: Accepted
Time:40 ms
Memory:1412 kb
****************************************************************/
<div class="container"><div class="line number1 index0 alt2"><code class="c preprocessor">#include <iostream></code></div><div class="line number2 index1 alt1"><code class="c keyword bold">using</code> <code class="c keyword bold">namespace</code> <code class="c plain">std;</code></div><div class="line number3 index2 alt2"><code class="c color1 bold">int</code> <code class="c plain">main()</code></div><div class="line number4 index3 alt1"><code class="c plain">{</code></div><div class="line number5 index4 alt2"><code class="c spaces"> </code><code class="c color1 bold">int</code> <code class="c plain">n,m,i,j;</code></div><div class="line number6 index5 alt1"><code class="c spaces"> </code><code class="c color1 bold">int</code> <code class="c plain">N[100];</code></div><div class="line number7 index6 alt2"><code class="c spaces"> </code><code class="c color1 bold">int</code> <code class="c plain">temp;</code></div><div class="line number8 index7 alt1"><code class="c spaces"> </code><code class="c color1 bold">int</code> <code class="c plain">flag;</code></div><div class="line number9 index8 alt2"><code class="c spaces"> </code><code class="c keyword bold">while</code> <code class="c plain">(cin>>n>>m)</code></div><div class="line number10 index9 alt1"><code class="c spaces"> </code><code class="c plain">{</code></div><div class="line number11 index10 alt2"><code class="c spaces"> </code><code class="c keyword bold">if</code> <code class="c plain">((n==0)&&(m==0))</code></div><div class="line number12 index11 alt1"><code class="c spaces"> </code><code class="c plain">{</code></div><div class="line number13 index12 alt2"><code class="c spaces"> </code><code class="c keyword bold">break</code><code class="c plain">;</code></div><div class="line number14 index13 alt1"><code class="c spaces"> </code><code class="c plain">}</code></div><div class="line number15 index14 alt2"><code class="c spaces"> </code><code class="c keyword bold">for</code> <code class="c plain">(i=0;i<n;i++)</code></div><div class="line number16 index15 alt1"><code class="c spaces"> </code><code class="c plain">{</code></div><div class="line number17 index16 alt2"><code class="c spaces"> </code><code class="c plain">cin>>N[i];</code></div><div class="line number18 index17 alt1"><code class="c spaces"> </code><code class="c plain">}</code></div><div class="line number19 index18 alt2"><code class="c spaces"> </code><code class="c keyword bold">for</code> <code class="c plain">(i=0;i<n;i++)</code></div><div class="line number20 index19 alt1"><code class="c spaces"> </code><code class="c plain">{</code></div><div class="line number21 index20 alt2"><code class="c spaces"> </code><code class="c keyword bold">for</code> <code class="c plain">(j=0;j<m;j++)</code></div><div class="line number22 index21 alt1"><code class="c spaces"> </code><code class="c plain">{</code></div><div class="line number23 index22 alt2"><code class="c spaces"> </code><code class="c keyword bold">if</code> <code class="c plain">(N[j]<N[j+1])</code></div><div class="line number24 index23 alt1"><code class="c spaces"> </code><code class="c plain">{</code></div><div class="line number25 index24 alt2"><code class="c spaces"> </code><code class="c plain">temp=N[j];N[j]=N[j+1];N[j+1]=temp;</code></div><div class="line number26 index25 alt1"><code class="c spaces"> </code><code class="c plain">}</code></div><div class="line number27 index26 alt2"><code class="c spaces"> </code><code class="c plain">}</code></div><div class="line number28 index27 alt1"><code class="c spaces"> </code><code class="c plain">}</code></div><div class="line number29 index28 alt2"><code class="c spaces"> </code><code class="c keyword bold">if</code> <code class="c plain">(n<m)</code></div><div class="line number30 index29 alt1"><code class="c spaces"> </code><code class="c plain">{</code></div><div class="line number31 index30 alt2"><code class="c spaces"> </code><code class="c plain">flag=n;</code></div><div class="line number32 index31 alt1"><code class="c spaces"> </code><code class="c plain">}</code></div><div class="line number33 index32 alt2"><code class="c spaces"> </code><code class="c keyword bold">else</code></div><div class="line number34 index33 alt1"><code class="c spaces"> </code><code class="c plain">flag=m;</code></div><div class="line number35 index34 alt2"><code class="c spaces"> </code><code class="c keyword bold">for</code> <code class="c plain">(j=0;j<flag;j++)</code></div><div class="line number36 index35 alt1"><code class="c spaces"> </code><code class="c plain">{</code></div><div class="line number37 index36 alt2"><code class="c spaces"> </code><code class="c plain">cout<<N[j]<<</code><code class="c string">" "</code><code class="c plain">;</code></div><div class="line number38 index37 alt1"><code class="c spaces"> </code><code class="c plain">}</code></div><div class="line number39 index38 alt2"><code class="c spaces"> </code><code class="c plain">cout<<endl;</code></div><div class="line number40 index39 alt1"><code class="c spaces"> </code><code class="c plain">}</code></div><div class="line number41 index40 alt2"><code class="c spaces"> </code><code class="c keyword bold">return</code> <code class="c plain">1;</code></div><div class="line number42 index41 alt1"><code class="c plain">}</code></div><div class="line number44 index43 alt1"><code class="c comments">/**************************************************************</code><code class="c spaces">
</code></div><pre name="code" class="cpp"> Problem: 1034
User: Carvin
Language: C++
Result: Accepted
Time:40 ms
Memory:1412 kb