C++实现二维数组N个学生M门成绩,求出每个学生的平均成绩及每门课的平均成绩

C++实现二维数组N个学生M门成绩,求出每个学生的平均成绩及每门课的平均成绩。
输入数组:
grade[4][3]=
{
{10,10,10},
{2,0,1},
{8,6,9},
{8,4,10}
};
具体代码实现如下:

#include<iostream>
#include<iomanip>
using namespace std;

const int stu_num = 4;
const int course_num = 3;

void computerStu(const int grade[][course_num],double stuAvg[])
{

	for(int i=1;i<=stu_num;i++)
	{
		double stuTotal = 0;
		for(int j=1;j<=course_num;j++)
		{
			stuTotal = stuTotal + grade[i-1][j-1];
		}	
	    stuAvg[i-1] = stuTotal/course_num;	 
	}    
}

void computerCourse(const int grade[][course_num],double courseAvg[])
{
   
	for(int i = 1;i<=course_num;i++)
	{
		double courseTotal = 0;
		for(int j = 1;j<=stu_num;j++)
		{
			 courseTotal = courseTotal + grade[j-1][i-1];
		}
        courseAvg[i-1]=courseTotal/stu_num;
	}	   
} 

void display(int grade[][course_num],const double stuAvg[],const double courseAvg[])
{
	cout.setf(ios::fixed);
	cout.setf(ios::showpoint);
	cout.precision(1);
	cout<<setw(10)<<"Student"
	    <<setw(5)<<"Ave"
	    <<setw(15)<<"Quizzes"<<endl; 	
	for(int i=1;i<=stu_num;i++) 
	{
		cout<<setw(10)<<i
		    <<setw(5)<<stuAvg[i-1]<<"";
	    for(int j=1;j<=course_num;j++)
	       cout<<setw(5)<<grade[i-1][j-1];
	    cout<<endl;
	}
	  
	cout<<"course average = ";
	for(int j = 1;j <= course_num;j ++)
	  cout<<setw(5)<<courseAvg[j-1];
	cout<<endl;

}

int main()
{
   double stuAvg[stu_num];
   double courseAvg[course_num];
   int  grade[4][3]=
   {
   	{10,10,10},
	{2,0,1},
	{8,6,9},
	{8,4,10}
   };
 
   computerStu(grade,stuAvg);
   computerCourse(grade,courseAvg);
   display(grade,stuAvg,courseAvg);

   return 0;
} 	
©️2020 CSDN 皮肤主题: 数字20 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值