原题网址:http://acm.hdu.edu.cn/showproblem.php?pid=2023
必须用double型
最后要多空一行
水题一枚
使用结构体会比较清晰
#include<stdio.h> int main() { int n,m,i,j,flag,k; double sum; struct stu { double pin,c[6]; }s[51]; struct gra { double pin; }g[6]; while(scanf("%d %d",&n,&m)!=EOF) { for(i=0;i<n;i++) { for(j=0,sum=0;j<m;j++) { scanf("%lf",&s[i].c[j]); sum+=s[i].c[j]; } s[i].pin=sum/m; } for(j=0;j<m;j++) { for(i=0,sum=0;i<n;i++) sum+=s[i].c[j]; g[j].pin=sum/n; } printf("%.2lf",s[0].pin); for(i=1;i<n;i++) printf(" %.2lf",s[i].pin); printf("\n%.2lf",g[0].pin); for(j=1;j<m;j++) printf(" %.2lf",g[j].pin); printf("\n"); for(i=0,k=0;i<n;i++) { for(j=0,flag=0;j<m;j++) if(s[i].c[j]>=g[j].pin) flag++; if(flag==m) k++; } printf("%d\n\n",k); } return 0; }