原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=2023
分析:用一个二维数组存好人平和科平就好了,注意“各科成绩均大于等于平均成绩”,平均成绩指的是科平。
我的代码:
#include<stdio.h>
double p[55][10];
int main()
{
int n,m;
while(~scanf("%d%d",&n,&m))
{
int i,j;
for(i=0;i<n;i++)
{
double sum=0.0;
for(j=0;j<m;j++)
{
scanf("%lf",&p[i][j]);
sum+=p[i][j];
}
p[i][j]=sum/m;
}
for(i=0;i<m;i++)
{
double sum=0.0;
for(j=0;j<n;j++)
{
sum+=p[j][i];
}
p[j][i]=sum/n;
}
for(i=0;i<n;i++) printf(i!=n-1?"%.2lf ":"%.2lf\n",p[i][m]);
for(i=0;i<m;i++) printf(i!=m-1?"%.2lf ":"%.2lf\n",p[n][i]);
int tot=0;
for(i=0;i<n;i++)
{
for(j=0;j<m;j++) if(p[i][j]<p[n][j]) break; //第一次叫的时候写成了>号,TAT。
if(j>=m) tot++;
}
printf("%d\n\n",tot);
}
return 0;
}
总结:没有静下心来好好的打代码。。