一道变态的题

问题描述:
某高校要统计校内学生的各科成绩总分和各门科的平均分,需要编写一个程序来完成

输入:
多组测试数据,每组测试数据里:第一行是n,k(1<=n<=1e6,1<=k<=1000),
n是学生数目,k是科目数。接下来就是n*k个数,
每k个就是一个学生所有科目的成绩,是在0-100之间的数

输出:
对于每组测试数据:
第一行输出各学生的成绩总分
第二行输出各科平均分(四舍五入到整数)
最后多输出一个空行表示分隔

样例输入:
3 2
100 100
90 90
80 80
2 3
90 90 90
60 60 60
2 2
1 2 3 4

样例输出:
200 180 160
90 90

270 180
75 75 75

3 7
2 3


难度:very easy



我的代码为啥通不过,晕呐!!

#include <iostream>
#include <string>
using namespace std;
int b[1000000];
float a[1000];
int main()
{
	int n = 0,k = 0;
	int  tmp_score = 0;
	int i = 0, j = 0;
	while (cin >> n && cin >> k)
	{
		for (i = 0; i < n; ++i)
		{
			for (j = 0; j < k; ++j)
			{
				cin >> tmp_score;
                b[i] += tmp_score;
				a[j] += tmp_score;
			}
		}
		for (i = 0; i < n; ++i)
		{
			cout << b[i] << " ";
			b[i] = 0;
		}
		cout << endl;
		for (j = 0; j < k; ++j)
		{
			cout << (int)((a[j]+0.5)/n) << " ";
			a[j]=0.0;
		}
		cout << endl << endl;
	}
}

posted @ 2011-03-13 11:30  hailong  阅读(278)  评论(1)    收藏  举报