描述
某班级有n人(n<80),期末考试的六门学科分别是语文、数学、英语、物理、化学、生物。考试成绩出来了,现要求每人的成绩总分和各学科的平均分。输入班级人数,每人的座号和各学科成绩,输出每人的座号、成绩和各学科平均分(四舍五入保留1位小数)
输入
第一行一个整数n,表示n个人
以下n行,每行7个整数,分别表示座号和语文、数学、英语、物理、化学、生物的成绩。
输出
输出n行整数,每行8个整数,分别表示座号和语文、数学、英语、物理、化学、生物、总分的成绩。
最后一行是语文、数学、英语、物理、化学、生物的平均分(保留1位小数)。
样例输入
3
1 67 89 93 82 87 90
2 80 98 87 82 89 93
3 78 86 92 90 67 85
样例输出
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
思路:
1、创建一个二维数组和两个数组,分别存放学号和成绩、总分、平均分
2、使用二维数组,根据题目要求,除学号外的每列加和求平均值,每行除学号外求和
3、按照输出格式的要求进行输出
如果你嫌麻烦的话,可以全部使用二维数组一次性解决所有问题~
样例代码:
#include<iostream>
using namespace std;
double a[800][800];
double b[1000];
double c[1000];
int main(){
int n;
cin>>n;
for(int i = 0;i < n;i++){
for(int j = 0;j < 7;j++){
cin>>a[i][j];
}
}
for(int i = 0;i < n;i++){
for(int j = 0;j < 7;j++){
cout<<a[i][j]<<" ";
c[i] += a[i][j];
}
b[0] += a[i][1];
b[1] += a[i][2];
b[2] += a[i][3];
b[3] += a[i][4];
b[4] += a[i][5];
b[5] += a[i][6];
cout<< c[i] - a[i][0];
cout<<endl;
}
for(int i = 0;i < 6;i++){
printf("%.1f " ,b[i] / n);
}
return 0;
}
谢谢各位大佬莅临并且三连~