/*
* 程序的版权和版本声明部分:
* Copyright (c) 2012, 烟台大学计算机学院
* All rights reserved.
* 文件名称:学生成绩统计.cpp
* 作 者:毛通
* 完成日期:2012 年 12月 11日
* 版 本 号:v1.0
* 对任务及求解方法的描述部分: 要求
(1)定义二维数组来存放各个学生各门课程成绩
(2)求每门课程的学生平均成绩(每列),保存并输出
(3)求每个学生的各门课程平均成绩(每行),保存并输出
成绩如下:
课程1 课程2 课程3
学生1 89 78 56
学生2 88 99 100
学生3 72 80 61
学生4 60 70 75
* 输入描述:无
* 问题描述:
* 程序输出:“”
* 问题分析:略
* 算法设计:略
*/
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
//定义二维数组来存放各个学生各门课程成绩
double a[5][4]=
{
{89, 78, 56},
{88, 99, 100},
{72, 80, 61},
{60, 70, 75},
};
int val,flag; //val行 flag列
//每列平均值 求出每列的总和然后除以4
double sum_1[3];
for(int i=0;i<3;i++)
{
sum_1[i]=0;
}
for(flag=0;flag<3;flag++)
for(val=0;val<4;val++)
sum_1[flag]=sum_1[flag]+a[val][flag];
for(flag=0;flag<3;flag++)
a[4][flag]=sum_1[flag]/4;
//每个学生的各门课程平均成绩(每行),保存并输出:
double sum_2[4];
for( i=0;i<4;i++)
{
sum_2[i]=0;
}
for(val=0;val<4;val++)
for(flag=0;flag<3;flag++)
sum_2[val]=sum_2[val]+a[val][flag];
for(val=0;val<4;val++)
a[val][3]=sum_2[val]/3;
//输出成绩表
cout<<"成绩表"<<" ";
for(i=1;i<=3;++i)
cout<<"课程"<<i<<"\t";
cout<<"平均分";
cout <<endl;
i=1;
cout<<"学生1"<<"\t"<<" ";
for(val=0;val<4;val++)
{
for(flag=0;flag<4;flag++)
{
cout<<setprecision(4)<<a[val][flag]<<"\t";
}
i=i+1;
if(i==5)
break;
cout<<endl<<"学生"<<i<<"\t"<<" ";
//Continue
}
cout<<endl;
cout<<"平均分"<<"\t"<<" ";
for(flag=0;flag<4;flag++)
{
cout<<setprecision(4)<<a[4][flag]<<"\t";
}
cout<<endl;
return 0;
}
/*
运行结果:
心得体会:
知识点总结:
*/