【ACM】杭電OJ 2023
阿新 • • 發佈:2018-11-24
注意最後又兩個\n
#include <iostream> #include <cstdio> #include <cstring> using namespace std; const int maxn = 1000; int a[maxn][maxn]; double grade[maxn]; double average[maxn]; int main () { int m,n,i,j,flag,count;//n個學生,m門課程(n行 m列) while(scanf("%d%d",&n,&m)!=EOF) { for(i=1;i<=n;i++) { for(j=1;j<=m;j++) { scanf("%d",&a[i][j]); } } memset(grade,0,sizeof(grade));//每人的平均分 memset(average,0,sizeof(average));//每門課程的平均分 for(i=1;i<=n;i++) { for(j=1;j<=m;j++) { grade[i]+=a[i][j]; } grade[i]/=(m*1.0); if(i==1) printf("%.2lf",grade[i]); else printf(" %.2lf",grade[i]); } printf("\n"); for(i=1;i<=m;i++) { for(j=1;j<=n;j++) { average[i]+=a[j][i]; } average[i]/=(n*1.0); if(i==1) printf("%.2lf",average[i]); else printf(" %.2lf",average[i]); } printf("\n"); count=0; for(i=1;i<=n;i++) { flag=1; for(j=1;j<=m;j++) { if(a[i][j] < average[j]) { flag=0; break; } } if(flag) { count++; } } printf("%d\n\n",count); } return 0; }