SDUT-Java——小鑫の日常系列故事(十)——排名次
阿新 • • 發佈:2019-02-18
小鑫の日常系列故事(十)——排名次
Time Limit: 1000 ms Memory Limit: 65536 KiB
Problem Description
小鑫在來到SDUT之後,經過十分刻苦的學習和努力終於進入了ACM集訓隊。很快又一次ACM集訓隊的選拔就要開始了,集訓隊員們又忙碌了起來。他也十分幸運的被學長抓來當苦力。 o(∩_∩)o
這次學長給他分配的任務是寫一個自動排名的程式,我們知道當選拔賽結束的時候,每一個參與選拔的同學都會有一個自己的分數。而集訓隊需要根據大家的分數排名來決定誰能夠進入集訓隊,這個任務就落在了小鑫身上。
你能幫小鑫來完成這個程式麼?
Input
輸入的第一行為n 0<n<=50;
下面還有n行每行為一個人名和ta所得到的分數。保證沒有相同的分數。
人名為英文單詞,長度不超過10。
Output
輸出為n行,每行一個人名與他的得分。每一行最後沒有多餘的空格。
具體輸出格式見樣例。
Sample Input
3
Dan 10
John 50
Danny 30
Sample Output
John 50
Danny 30
Dan 10
AC程式碼:
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner mi = new Scanner(System.in); int n = mi.nextInt(); String s[] = new String[n + 1]; int a[] = new int[n + 1]; for (int i = 0; i < n; i++) { s[i] = mi.next(); a[i] = mi.nextInt(); } int t; String si; for (int i = 0; i < n; i++) { for (int j = 0; j < n - 1 - i; j++) { if (a[j] < a[j + 1]) { si = s[j]; s[j] = s[j + 1]; s[j + 1] = si; t = a[j]; a[j] = a[j + 1]; a[j + 1] = t; } } } for (int i = 0; i < n; i++) { System.out.println(s[i] + " " + a[i]); } mi.close(); } }
——————
餘生還請多多指教!