hdu 2023 簡單java 水過~~~
來源:程序員人生 發布時間:2015-04-15 08:33:49 閱讀次數:3584次
Problem Description
假定1個班有n(n<=50)個學生,每人考m(m<=5)門課,求每一個學生的平均成績和每門課的平均成績,并輸出各科成績均大于等于平均成績的學生數量。
Input
輸入數據有多個測試實例,每一個測試實例的第1行包括兩個整數n和m,分別表示學生數和課程數。然后是n行數據,每行包括m個整數(即:考試分數)。
Output
對每一個測試實例,輸出3行數據,第1行包括n個數據,表示n個學生的平均成績,結果保存兩位小數;第2行包括m個數據,表示m門課的平均成績,結果保存兩位小數;第3行是1個整數,表示該班級中各科成績均大于等于平均成績的學生數量。
每一個測試實例后面跟1個空行。
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(); /* 最后換行 */
}
}
}
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈