问题及代码:
定义一个5行3列的二维数组,各行分别代表一名学生的高数、英语、C++成绩。再定义一个有5个元素的一维数组,用于存储每名学生的平均成绩。请输入学生的各门课成绩,输出带平均成绩的成绩单,以及所有学生平均成绩的平均值。
Input
15个整数,表示5名学生3科的成绩
Output
分5行显示每名学生的成绩及平均成绩
再显示所有学生平均成绩的平均值(保留两位小数)
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
int score[5][3]; //保存成绩的数组
double average[5]; //保存平均成绩的数组
int i,j;
double sum;
//输入成绩
for(i=0; i<5; i++)
for(j=0; j<3; j++)
cin>>score[i][j];
//计算每位同学的平均成绩,保存到数组average中
for (i=0; i<5; i++)
{
sum=0;
for (j=0; j<3; j++)
sum=sum+score[i][j];
average[i]=sum/3.0;
}
for (i=0; i<5; i++)
{
for (j=0; j<3; j++)
cout <<score [i][j]<<" ";
cout <<setiosflags(ios::fixed)<<setprecision(2)<<average[i]<<endl;
}
sum=0;
for (i=0; i<5; i++)
sum =sum+average[i];
cout <<sum/5.0<<endl;
return 0;
}
运行结果:
97 78 87 87.33
78 63 68 69.67
73 81 85 79.67
91 87 88 88.67
76 81 89 82.00
81.47