题目 1034 寻找大富翁 九度OnlineJudge

题目描述:
    浙江桐乡乌镇共有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
****************************************************************/

 
  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值