2017年12月30日 星期六

[C_AR174-易] 身高排序(C++)

[C_AR174-易] 身高排序

Time Limit: 1 seconds
問題描述 :
向系統輸入 N 個人的身高進去,再來系統會自動為這 N 個人的高矮進行排序,再來只要輸入 1~N 其中一個數字系統就能自動判斷並輸出相應第幾高的人的身高。
輸入說明 :
輸入N個人的身高,一身高輸入一行,N個人的身高皆輸入完畢後以 ”=====” 字串為一行與下行分隔,接著以下開始每一行輸入詢問第 1~N 高的人的身高為何,最後以輸入 ”end” 結束輸入。
※不會有同高的情況發生。 1 <= N <= 10。身高範圍為100~200。
輸出說明 :
輸出第 1~N 高之人的身高。
範例 :

輸入範例輸出範例
167
166
171
160
=====
2
1
end
167
171

  1. #include <iostream>  
  2. #include <algorithm>  
  3. #include <string>  
  4. #include <sstream>  
  5. using namespace std;  
  6.   
  7. int main() {  
  8.     // [C_AR174-易] 身高排序  
  9.     string tall;  
  10.     int count = 0;  
  11.     int t[10];  
  12.     while(cin >> tall)  
  13.     {  
  14.         cin.ignore();   
  15.         if(tall != "=====")  
  16.         {  
  17.             t[count] = stoi(tall);  
  18.             count++;  
  19.         }  
  20.         else  
  21.         {  
  22.             break;  
  23.         }  
  24.     }  
  25.     sort(t, t+count);  
  26.     reverse(t, t+count);  
  27.   
  28.     while(cin >> tall)  
  29.     {  
  30.         cin.ignore();   
  31.         if(tall != "end" && stoi(tall) <= count)  
  32.         {  
  33.             cout << t[stoi(tall)-1] << endl;  
  34.         }  
  35.         else  
  36.         {  
  37.             break;  
  38.         }  
  39.     }  
  40.     return 0;  
  41. }  

沒有留言:

張貼留言