题目链接:http://ac.jobdu.com/problem.php?pid=1034

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

来源:2009年浙江大学计算机及软件工程研究生机试真题

这个题目比较简单,思路:

如果n<=m则输入n个数到数组中,然后降序排序,接着直接输出;

若是n>m,则先输入前m个数到数组中。然后当每次输入一个数temp,则判断temp是否比数组中最小的数min大,若是则覆盖掉数组中最小数字min,否则跳过,输入下一个,然后继续……

输入并处理完成后,降序排序,然后输出即可。

代码如下:

 #include<stdio.h>
#include<stdlib.h>
int cmp(const void *a,const void *b)
{
return *(int*)b- *(int *)a;
}
int finMinIndex(int a[],int len);//返回a数组最小元素的下标。a数组元素个数为len
int main()
{
int n,m;
int a[]={};
int i;
int mini;
int temp; while(scanf("%d%d",&n,&m)!=EOF)
{
if(n==&&m==) break;
if(n<=m)
{
for(i=;i<n;i++) scanf("%d",&a[i]);
qsort(a,n,sizeof(a[]),cmp);
printf("%d",a[]);
for(i=;i<n;i++) printf(" %d",a[i]);
printf("\n");
}
else
{
for(i=;i<m;i++)
{
scanf("%d",&a[i]);
}
for(i=m;i<n;i++)
{
scanf("%d",&temp);
mini=finMinIndex(a,m);
if(temp>a[mini]) a[mini]=temp;
}
qsort(a,m,sizeof(a[]),cmp);
printf("%d",a[]);
for(i=;i<m;i++) printf(" %d",a[i]);
printf("\n");
}
}
return ;
}
int finMinIndex(int a[],int len)//返回a数组最小元素的下标。a数组元素个数为len
{
int i,minIndex=;
for(i=;i<len;i++)
{
if(a[i]<a[minIndex]) minIndex=i;
}
return minIndex;
}

九度oj 题目1034:寻找大富翁的更多相关文章

  1. 九度OJ 题目1384:二维数组中的查找

    /********************************* * 日期:2013-10-11 * 作者:SJF0115 * 题号: 九度OJ 题目1384:二维数组中的查找 * 来源:http ...

  2. hdu 1284 关于钱币兑换的一系列问题 九度oj 题目1408:吃豆机器人

    钱币兑换问题 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Sub ...

  3. 九度oj题目&amp;吉大考研11年机试题全解

    九度oj题目(吉大考研11年机试题全解) 吉大考研机试2011年题目: 题目一(jobdu1105:字符串的反码).    http://ac.jobdu.com/problem.php?pid=11 ...

  4. 九度oj 题目1007:奥运排序问题

    九度oj 题目1007:奥运排序问题   恢复 题目描述: 按要求,给国家进行排名. 输入:                        有多组数据. 第一行给出国家数N,要求排名的国家数M,国家号 ...

  5. 九度oj 题目1087:约数的个数

    题目链接:http://ac.jobdu.com/problem.php?pid=1087 题目描述: 输入n个整数,依次输出每个数的约数的个数 输入: 输入的第一行为N,即数组的个数(N<=1 ...

  6. 九度OJ题目1105:字符串的反码

    tips:scanf,cin输入字符串遇到空格就停止,所以想输入一行字符并保留最后的"\0"还是用gets()函数比较好,九度OJ真操蛋,true?没有这个关键字,还是用1吧,还是 ...

  7. 九度oj题目1009:二叉搜索树

    题目描述: 判断两序列是否为同一二叉搜索树序列 输入:                        开始一个数n,(1<=n<=20) 表示有n个需要判断,n= 0 的时候输入结束. 接 ...

  8. 九度oj题目1002:Grading

    //不是说C语言就是C++的子集么,为毛printf在九度OJ上不能通过编译,abs还不支持参数为整型的abs()重载 //C++比较正确的做法是#include<cmath.h>,cou ...

  9. 九度OJ题目1003:A+B

    while(cin>>str1>>str2)就行了,多简单,不得不吐槽,九度的OJ真奇葩 题目描述: 给定两个整数A和B,其表示形式是:从个位开始,每三位数用逗号", ...

随机推荐

  1. python核心编程第六章练习6-12

    6-12.字符串.(a)创建一个名字为findchr()的函数,函数声明如下.def findchr(string, char)findchr()要在字符串string中查找字符char,找到就返回该 ...

  2. ruby bundle config 镜像映射配置

    新增映射 : bundle config mirror.https://rubygems.org/ http://ruby.taobao.com #所有对source https://rubygems ...

  3. 初学JAVA

    通过eclipse开发java程序:1.创建一个java项目 2.创建程序包 3.编写java源程序 4.运行java程序 例如开发"helloworld "java程序: 1.进 ...

  4. [Android] Web Console: Uncaught TypeError: Object [object Object] has no method 'xxx'

    我们开发的产品,有一部分功能,需要在WebView中打开web页面,然后在web页面中通过js方法回调部分native的功能. 对于web回调native的开发方式,如果不了解的话,可以参考我以前的一 ...

  5. IE11里边form拦截失效,永远被弹回登录页

    现象描述: 1.在某些服务器上发布了程序以后,用IE11去浏览程序(试了多台电脑都一样),发现总是登录不进去,因为登录之后总是被立即反弹回登录页面,就像是登录后写入的票据瞬间丢失一样. 2.但是同一套 ...

  6. 算法课堂笔记14—NP-COMPLETENESS

    今天的算法课接着上一节,说的是NP问题. 1.关于什么是P和NP问题 所谓P问题是指所有能在多项式复杂度解决的问题,比如排序算法,n*n复杂度解决问题.而对于有些问题,目前可能没有多项式复杂度的解决方 ...

  7. WC2015 酱油记

    这是真·酱油记! Day0 因为我们在上海,所以只要坐高铁就可以了2333.到了火车站以后我们坐大巴到学军中学恩,结果坐大巴的时间和做坐高铁的时间差不做←_←. 吐槽了一下住宿环境和课程表就已经晚上了 ...

  8. 了解Sql Server的执行计划

    前一篇总结了Sql Server Profiler,它主要用来监控数据库,并跟踪生成的sql语句.但是只拿到生成的sql语句没有什么用,我们可以利用这些sql语句,然后结合执行计划来分析sql语句的性 ...

  9. Input 值改变触发事件

    $('#keyword').bind('input propertychange', function() { $('.close-search').show();});  

  10. GSM模块fibocom G510使用记录

    一、背景:最近在做一个单定位的产品,对低功耗要求较高,选用了G510系列的模块。现在仅做了三块样板,先熟悉下。 二、优点:1.功耗低,和西门子的BGS2差不多;2.注册网络指令简单;3.其他有待发现 ...