/*
* Copyright (c) 2013, 烟台大学计算机学院
* All rights reserved.
* 作 者:张梦佳
* 完成日期:2013 年 12 月4 日
* 版 本 号:v1.0
*
* 输入描述:
* 问题描述:成绩处理
* 程序输出:
* 问题分析:
* 算法设计:
*/
#include <iostream>
#include <iostream>
using namespace std;
void cins(int a[][4]);
int shuchu(int a[][4]);
int n;
int main()
{
cout<<"请输入有多少名同学:";
cin>>n;
int score[n][4];
cins(score);
shuchu(score);
return 0;
}
void cins(int a[][4])
{
int i;
cout<<"请输入同学的成绩。数学,英语,C++依次输入。"<<endl;
for(i=0;i<n;i++)
{
cout<<"请输入第"<<i<<"名同学的成绩。"<<endl;
cin>>a[i][0]>>a[i][1]>>a[i][2];
a[i][3]=a[i][0]+a[i][1]+a[i][2];
}
}
int shuchu(int a[][4])
{
int i=0,j,s=0;
int max,min,pingjun=0,num1=0,num2=0;
for(j=0;j<3;j++)
{
max=0;
min=10000;
num1=0;
num2=0;
s=0;
for(i=0;i<n;i++)
{
if(max<a[i][j])
{
max=a[i][j];
}
else if(min>a[i][j])
{
min=a[i][j];
}
s=s+a[i][j];
}
for(i=0;i<n;i++)
{
if (a[i][j]==max)
num1=num1+1;
else if(a[i][j]==min)
num2=num2+1;
}
pingjun=s/n;
if(j==0)
{
cout<<"数学最高成绩为:"<<max<<endl;
cout<<"数学最低成绩为:"<<min<<endl;
cout<<"数学平均成绩为:"<<pingjun<<endl;
cout<<"最高成绩有"<<num1<<"人!"<<endl;
for(i=0;i<n;i++)
{
if (a[i][j]==max)
cout<<"该同学的学号为"<<i<<" ";
}
cout<<"最低成绩有"<<num2<<"人!"<<endl;
for(i=0;i<n;i++)
{
if(a[i][j]==min)
cout<<"该同学的学号为"<<i<<" ";
}
cout<<endl;
}
else if(j==1)
{
cout<<"英语最高成绩为:"<<max<<endl;
cout<<"英语最低成绩为:"<<min<<endl;
cout<<"英语平均成绩为:"<<pingjun<<endl;
cout<<"最高成绩有"<<num1<<"人!"<<endl;
for(i=0;i<n;i++)
{
if (a[i][j]==max)
cout<<"该同学的学号为"<<i<<" ";
}
cout<<"最低成绩有"<<num2<<"人!"<<endl;
for(i=0;i<n;i++)
{
if(a[i][j]==min)
cout<<"该同学的学号为"<<i<<" ";
}
cout<<endl;
}
else if(j==2)
{
cout<<"C++最高成绩为:"<<max<<endl;
cout<<"C++最低成绩为:"<<min<<endl;
cout<<"C++平均成绩为:"<<pingjun<<endl;
cout<<"最高成绩有"<<num1<<"人!"<<endl;
for(i=0;i<n;i++)
{
if (a[i][j]==max)
cout<<"该同学的学号为"<<i<<" ";
}
cout<<"最低成绩有"<<num2<<"人!"<<endl;
for(i=0;i<n;i++)
{
if(a[i][j]==min)
cout<<"该同学的学号为"<<i<<" ";
}
cout<<endl;
}
}
return 0;
}
感悟