用两个数组,一个二维的存最初数据,用一个一维的放每门课的平均成绩。按着题目的要求求就可以了,注意输出要求!!
每个测试实例后面跟一个空行。
2 2 5 10 10 20
7.50 15.00 7.50 15.00 1
代码:
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
double a[50][5],b[5];
int m,n; //n个人m门课
int i,j;
while(cin>>n>>m)
{
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
cin>>a[i][j];
}
}
double sum;
for(i=0;i<n;i++)
{
sum=0;
for(j=0;j<m;j++)
{
sum+=a[i][j];
}
sum/=m;
if(i!=n-1)
cout<<fixed<<setprecision(2)<<sum<<' ';
else
cout<<fixed<<setprecision(2)<<sum<<endl;
}
for(i=0;i<5;i++)
b[i]=0;
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
b[i]+=a[j][i];
}
b[i]/=n;
if(i!=m-1)
cout<<fixed<<setprecision(2)<<b[i]<<' ';
else
cout<<fixed<<setprecision(2)<<b[i]<<endl;
}
int h;
sum=0;
for(i=0;i<n;i++)
{
h=0;
for(j=0;j<m;j++)
{
if(a[i][j]>=b[j])
h++;
}
if(m==h)
sum++;
}
cout<<int(sum)<<endl;
cout<<endl;
}
return 0;
}