/*
* 程序的版權和版本聲明部分:
* 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
* 輸入描述:無
* 問題描述:
* 程序輸出:“”
* 問題分析:略
* 算法設計:略
*/
[cpp]
#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++)
{ www.2cto.com
cout<<setprecision(4)<<a[4][flag]<<"\t";
}
cout<<endl;
return 0;
}
/*
心得體會:
知識點總結:
*/