hdu 2023 簡單java 水過~~~,hdu2023java
Problem Description假設一個班有n(n<=50)個學生,每人考m(m<=5)門課,求每個學生的平均成績和每門課的平均成績,並輸出各科成績均大於等於平均成績的學生數量。
Input輸入資料有多個測試執行個體,每個測試執行個體的第一行包括兩個整數n和m,分別表示學生數和課程數。然後是n行資料,每行包括m個整數(即:考試分數)。
Output對於每個測試執行個體,輸出3行資料,第一行包含n個資料,表示n個學生的平均成績,結果保留兩位小數;第二行包含m個資料,表示m門課的平均成績,結果保留兩位小數;第三行是一個整數,表示該班級中各科成績均大於等於平均成績的學生數量。
每個測試執行個體後面跟一個空行。
import java.util.*;import java.lang.*;class Main{public static void main(String args[]){ Scanner sc = new Scanner(System.in); while(sc.hasNext()){ int n = sc.nextInt(); int m = sc.nextInt(); double[][] arr=new double[n][m]; double[] arr1=new double[n]; double[] arr2=new double[m]; int count,k=0,i,j; for(i=0;i<n;i++){ /* 把輸入的成績裝入數組 */ for(j=0;j<m;j++){ arr[i][j]=sc.nextInt(); } } int Sum; for( i=0;i<n;i++){ /* 求出每個人的平均成績 */ Sum=0; for(j=0;j<m;j++){ Sum+=arr[i][j]; } arr1[i]=1.0*Sum/m; } for(i=0;i<m;i++){ /* 求出沒門課程的平均成績 */ Sum=0; for(j=0;j<n;j++){ Sum+=arr[j][i]; } arr2[i]=1.0*Sum/n; } count=0; for(i=0;i<n;i++){ /* 統計沒科成績都大於平均成績的學生人數 */ k=0; for(j=0;j<m;j++){ if(arr[i][j]>=arr2[j]){ k++; } } if(k==m){ count++; } } int nn=0; for(j=0;j<n;j++){ /* 輸出學生的平均成績 */ if(nn==0){ System.out.printf("%.2f",arr1[j]); nn++; }else{ System.out.printf(" %.2f",arr1[j]); } } System.out.println(); nn=0; for(j=0;j<m;j++){ /* 輸出每門課程的平均成績 */ if(nn==0){ System.out.printf("%.2f",arr2[j]); nn++; }else{ System.out.printf(" %.2f",arr2[j]); } } System.out.println(); System.out.println(count); System.out.println(); /* 最後換行 */ }}}