http://acm.hdu.edu.cn/showproblem.php?pid=2023
题意不难理解,就是三个量之间要理清楚,自己容易乱掉,还有,数组开大一点,第一次按题目说的开,没通过
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
#include<stdio.h> int main() { double gra[100][1000],st[10000],gr[10000]; int i,n,m,j,sum; while(scanf("%d%d",&n,&m)!=EOF) { for(i=0;i<55;i++) st[i]=gr[i]=0; sum=0; for(i=0;i<n;i++) for(j=0;j<m;j++) { scanf("%lf",&gra[i][j]); st[j]+=gra[i][j]; gr[i]+=gra[i][j]; } for(i=0;i<n;i++) if(i==0) printf("%.2lf",gr[i]/(double)m); else printf(" %.2lf",gr[i]/(double)m); printf("\n"); for(i=0;i<m;i++) if(i==0) printf("%.2lf",st[i]/(double)n); else printf(" %.2lf",st[i]/(double)n); printf("\n"); for(i=0;i<n;i++) { for(j=0;j<m;j++) if(gra[i][j]<st[j]/(double)n) break; if(j==m) sum++; } printf("%d\n\n",sum); } return 0; }