问题标题: 酷町堂:1705:成绩统计

0
0
已解决
许天奕
许天奕
新手守护
新手守护

1705   成绩统计

题目描述 Description

某班级有 n 人(n < 80),期末考试的六门学科分别是语文、数学、英语、物理、化学、生物。考试成绩出来了,现要求每人的成绩总分和各学科的平均分。 输入班级人数和每人的座位号以及各学科的成绩,输出每人的座位号、每人各学科的成绩、每人总成绩以及各学科的平均分(平均分四舍五入保留一位小数)。

输入描述 Input Description

第一行:n
下面的n行:每行为一个学生的座位号及他六门学科的成绩

输出描述 Output Description

前n行:每行为一个学生的座位号、他六门学科的成绩、他的总成绩
第n+1行:每门学科的平均分(四舍五入保留一位小数)

样例输入 Sample Input

3
1 67 89 93 82 87 90
2 80 98 87 82 89 93
3 78 86 92 90 67 85

样例输出 Sample Output

1 67 89 93 82 87 90 508
2 80 98 87 82 89 93 529
3 78 86 92 90 67 85 498
75.0 91.0 90.7 84.7 81.0 89.3

#include<bits/stdc++.h>
using namespace std;
int n,a[100][100],sum[100],cnt[100];
double c;
int main()
{
	cin>>n;
	for(int i=1;i<=n;i++){
		for(int j=1;j<=7;j++){
			cin>>a[i][j];
			sum[i]+=a[i][j];
		}
		sum[i]-=i;	
	}
	for(int i=2;i<=7;i++)
		for(int j=1;j<=n;j++)
			cnt[i]+=a[j][i];	

	for(int i=1;i<=n;i++){
		for(int j=1;j<=7;j++)cout<<a[i][j]<<' ';
		cout<<sum[i]<<endl; 
	}
	for(int i=2;i<=7;i++)
		printf("%.1f ",int(cnt[i]/n*10+0.5)/10.0);		
	cout<<endl;
	return 0;
} 

为啥我的小数为0???

许天奕在2019-02-18 17:10:17追加了内容

求原因及改正思路,否则不采纳!!!


0
已采纳
桑烁
桑烁
高级光能
高级光能

1.座位号不一定是1,2,3...,所以不能-=i

2.cnt,n都是int,要转换成double

0
我要回答