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