您的位置:首页 > 其它

HDU_2023 求平均成绩

2013-02-04 17:14 351 查看
这是一个既要求每个同学的平均成绩,

还要求班级各科的平均成绩

最后还要求各科都超过班级平均成绩的同学人数的问题,

不是特别难,但是要考虑的因素很多,

比较繁琐也比较费时间,

但是编的还比较顺利,

以下是代码:

#include <stdio.h>
#include <iostream>

using namespace std;

int main()
{
int n, m;
double a[50][5];
while (cin >> n >> m)
{
double stuscore[50], subscore[5];
for (int i = 0; i < n; i ++)
{
double sum1 = 0;
for (int j = 0; j < m; j ++)
{
cin >> a[i][j];
sum1 += a[i][j];
}
stuscore[i] = sum1 / m;            //求出每个学生的平均成绩
}

for (int x = 0; x < m; x ++)
{
double sum2 = 0;
for (int y = 0; y < n; y ++)
{
sum2 += a[y][x];
}
subscore[x] = sum2 / n;              //求出班级各科的平均成绩
}

int flag, student = 0;
for (int p = 0; p < n; p ++)
{
flag = 0;
for (int q = 0; q < m; q ++)
{
if (a[p][q] >= subscore[q])
flag ++;
}
if (flag == m)
student ++;                         //求出各科都超过班级各科平均成绩的同学个数
}

for (int t1 = 0; t1 < n; t1 ++)
{
if (t1 == 0)
printf ("%.2lf", stuscore[t1]);
else
{
printf (" ");
printf ("%.2lf", stuscore[t1]);         //打印学生平均成绩
}
}
printf ("\n");
for (int t2 = 0; t2 < m; t2 ++)
{
if (t2 == 0)
printf ("%.2lf", subscore[t2]);
else
{
printf (" ");
printf ("%.2lf", subscore[t2]);         //打印班级各科平均成绩
}
}
printf ("\n");

printf ("%d\n", student);               //打印各科超过平均成绩的同学个数
printf ("\n");

}

system ("pause");
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: