日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java——成绩排名

發布時間:2024/1/18 java 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java——成绩排名 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

PTA(JAVA)——1004 成績排名 (20 分)

讀入 n(>0)名學生的姓名、學號、成績,分別輸出成績最高和成績最低學生的姓名和學號。

輸入格式:
每個測試輸入包含 1 個測試用例,格式為
第 1 行:正整數 n
第 2 行:第 1 個學生的姓名 學號 成績
第 3 行:第 2 個學生的姓名 學號 成績
… … …
第 n+1 行:第 n 個學生的姓名 學號 成績

其中姓名和學號均為不超過 10 個字符的字符串,成績為 0 到 100 之間的一個整數,這里保證在一組測試用例中沒有兩個學生的成績是相同的。
輸出格式:
對每個測試用例輸出 2 行,第 1 行是成績最高學生的姓名和學號,第 2 行是成績最低學生的姓名和學號,字符串間有 1 空格。

輸入樣例:
3
Joe Math990112 89
Mike CS991301 100
Mary EE990830 95

輸出樣例:
Mike CS991301
Joe Math990112

———————————————————————————————————————————
思路

定義二維 String 數組 n行,3列 (n為輸入的數據個數)存儲所有數據。
定義一維 int 數組,單獨存儲所有學生成績,順序與String 數組對應
使用嵌套for循環將數據存入二維數組,在第一層循環中將String數組中的第三列數據(成績),用Integer.parseInt方法存入一維int數組中。(二維數組數據為String,存入一維需要類型轉換)
【注:for循環中多次定義i = 0,為減少變量,建議將 i 定義為全局變量?!?br /> 定義:最大成績 最小成績 最大成績姓名 最小成績姓名
循環遍歷一維數組,利用 if 語句判斷大小,根據條件重新賦值變量
最后打印。(我們要注意的是,在最后比較的時候,雖然是拿int數組中成績與String中成績比較,但是我們在錄入成績的時候,是按順序錄入的,所以成績是正確的。)

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);//此處的n是 輸入數據的人頭數int n = sc.nextInt();//構建一個二維數組,n行3列,儲存錄入的所有數據 String sarr[][] = new String[n][3];//構建一個n個空間的一維數組,用來存二維數組中提取出來的成績int num[] = new int[n];//將i定義成全局變量,可以節約內存,在for循環中反復定義使用int i;//嵌套for,遍歷二維數組,將鍵盤錄入的數據儲存在二維數組當中//嵌套for,遍歷二維數組,將鍵盤錄入的數據儲存在二維數組當中for (i = 0; i < n; i++) {for (int j = 0; j < 3; j++) {//此處 j < 3 因為一行數據一共三種sarr[i][j] = sc.next();}//Integer.parseInt可以String數據轉換為Integer整型數據。//輸入的成績為String型,所以轉化類型num[i] = Integer.parseInt(sarr[i][2]);}//最大成績,最小,最大成績名字,最小成績人名//都用數字代表相對應的數組下標int max, min, namemax, namemin;max = min = num[0];namemax = namemin = 0;//依據數據個數n(即一維數組長度或數據個數),進行for循環for (i = 0; i < n; i++) {//比較最大成績和調換名字順序if (num[i] > max) {max = num[i];namemax = i;}//比較最小成績和調換人名順序if (num[i] < min) {min = num[i];namemin = i;}}System.out.println(sarr[namemax][0] + " " + sarr[namemax][1]);System.out.println(sarr[namemin][0] + " " + sarr[namemin][1]);} }

總結

以上是生活随笔為你收集整理的Java——成绩排名的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。