/*
* Copyright (c) 2013, 烟台大学计算机学院
* All rights reserved.
* 作 者:高古尊
* 完成日期:2013 年 12 月1 日
* 版 本 号:v1.0
*
* 输入描述:
* 问题描述:(1)设计输入成绩的函数,输入3科成绩后可以自动求出总分,并将数据全保存到数组中;
(2)输出各门课及总分的最高成绩、最低成绩、平均成绩和成绩的标准偏差;
(3)输出考得总分最高、最低同学的人数及对应的学号。
* 程序输出:
* 问题分析:
* 算法设计:
*/
#include <iostream>
using namespace std;
void chengji(double a[][5],int );
int main()
{
int n,i,l;
cout<<"请输入学生的人数:";
cin>>n;
double score[1000][5];
cout<<"请输入学生的高数、英语、C++成绩"<<endl;
for(i=0; i<n; i++)
{
for(l=0; l<3; l++)
cin>>score[i][l] ;
}
chengji(score,n);
return 0;
}
void chengji(double a[][5],int n)
{
int i,l;
double sum,max,min;
for(i=0; i<n; i++)
{
for(l=0; l<3; l++)
{
a[i][3]+=a[i][l] ;
}
}
for(l=0; l<4; l++)
{
sum=0;
max=0;
min=10000;
for(i=0; i<n; i++)
{
max=(max>a[i][l])?max:a[i][l];
min=(min<a[i][l])?min:a[i][l];
sum+=a[i][l];
}
switch(l)
{
case 0:
cout<<"高数最高分:" <<max<<endl;
cout<<"高数最低分:" <<min<<endl;
cout<<"高数平均成绩:"<<sum/n<<endl;
break;
case 1:
cout<<"英语最高分:" <<max<<endl;
cout<<"英语最低分:" <<min<<endl;
cout<<"英语平均成绩:"<<sum/n<<endl;
break;
case 2:
cout<<"C++最高分:" <<max<<endl;
cout<<"C++最低分:" <<min<<endl;
cout<<"C++平均成绩:"<<sum/n<<endl;
break;
case 3:
cout<<"总成绩最高分:" <<max<<endl;
cout<<"总成绩最低分:" <<min<<endl;
cout<<"总成绩平均成绩:"<<sum/n<<endl ;
break;
}
}
cout<<"总成绩为最高分的学生的学号:";
for(i=0; i<n; i++)
{
if(a[i][3]==max)
cout<<i<<' ';
}
cout<<endl;
cout<<"总成绩为最低分的学生的学号:";
for(i=0; i<n; i++)
{
if(a[i][3]==min)
cout<<i<<' ';
}
cout<<endl;
}
多科成绩单
最新推荐文章于 2014-11-29 16:19:05 发布