程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> HDU3785:尋找大富翁

HDU3785:尋找大富翁

編輯:C++入門知識

Problem Description 浙江桐鄉烏鎮共有n個人,請找出該鎮上的前m個大富翁.     Input 輸入包含多組測試用例. 每個用例首先包含2個整數n(0<n<=100000)和m(0<m<=10),其中: n為鎮上的人數,m為需要找出的大富翁數, 接下來一行輸入鎮上n個人的財富值. n和m同時為0時表示輸入結束.     Output 請輸出烏鎮前m個大富翁的財產數,財產多的排前面,如果大富翁不足m個,則全部輸出,每組輸出占一行.     Sample Input 3 1 2 5 -1 5 3 1 2 3 4 5 0 0     Sample Output 5 5 4 3       [cpp]  #include <iostream>   #include <cstdio>   #include <string.h>   #include <stdlib.h>   using namespace std;      int s[100005];      int cmp(const void *x,const void *y)   {       return (*(int*)y - *(int*)x);   }      int main()   {       int n,m;       while(cin >> n >> m)       {           if(!m && !n)           break;           memset(s,0,sizeof(s));           int i;           for(i = 0; i<n; i++)           {               cin >> s[i];           }           qsort(s,n,sizeof(int),cmp);           if(m>=n)           {               for(i = 0; i<n; i++)               {                   if(!i)                       cout << s[i];                   else                       cout << " " << s[i];               }           }           else           {               for(i = 0; i<m; i++)               {                   if(!i)                       cout << s[i];                   else                       cout << " " << s[i];               }              }           cout << endl;       }          return 0;   }    

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved