hdu 求平均成績
阿新 • • 發佈:2018-12-11
Problem Description
假設一個班有n(n<=50)個學生,每人考m(m<=5)門課,求每個學生的平均成績和每門課的平均成績,並輸出各科成績均大於等於平均成績的學生數量。
Input 輸入資料有多個測試例項,每個測試例項的第一行包括兩個整數n和m,分別表示學生數和課程數。然後是n行資料,每行包括m個整數(即:考試分數)。
Output 對於每個測試例項,輸出3行資料,第一行包含n個數據,表示n個學生的平均成績,結果保留兩位小數;第二行包含m個數據,表示m門課的平均成績,結果保留兩位小數;第三行是一個整數,表示該班級中各科成績均大於等於平均成績的學生數量。 每個測試例項後面跟一個空行。
Sample Input 2 2 5 10 10 20
Sample Output 7.50 15.00 7.50 15.00 1
Author lcy
#include <stdio.h> #include <stdlib.h> int main() { int m,n,i,j,k,t; float a[100][100],b[100],c[100],s; while(scanf("%d%d",&n,&m)!=EOF) { for(i=0;i<n;i++) { for(j=0;j<m;j++) { scanf("%f",&a[i][j]); } } for(i=0;i<n;i++) { s=0; for(j=0;j<m;j++) { s=s+a[i][j]; } b[i]=s/m; printf("%.2lf",b[i]); if(i<n-1)printf(" "); } printf("\n"); for(i=0;i<m;i++) { s=0; for(j=0;j<n;j++) { s=s+a[j][i]; } c[i]=s/n; printf("%.2f",c[i]); if(i<m-1)printf(" "); } printf("\n"); t=0; for(i=0;i<n;i++) { k=1; for(j=0;j<m;j++) { if(a[i][j]<c[j]) { k=0; break; } } if(k) t++; } printf("%d\n\n",t); } return 0; }