/*
*Copyright(c)2014,烟台大学计算机学院
*All rights reserved.
*文件名称:test.cpp
*作者:曾晓
*完成日期:2014年 11月 29日
*版本号:v1.0
*/
#include <iostream>
#include <string>
using namespace std;
void input(double s[][4],int n);
void output(double s[][4],int n);
double max(double s[][4],int n,int i); //求第i门课的最高成绩,i=3时是总分
double min(double s[][4],int n,int i);
double avg(double s[][4],int n,int i);
string course[4]= {"高等数学","英语","C++","总分"};
int main()
{
int i,num;
string temp;
double score[100][4];
string course[4]={"高等数学","英语","C++","总分"};
cout<<"输入学生人数:";
cin>>num;
input(score,num);
output(score,num);
for(i=0;i<4;i++)
{
cout<<course[i]<<"的最高成绩是:"<<max(score,num,i)<<",";
cout<<"最低成绩是:"<<min(score,num,i)<<",";
cout<<"平均成绩是:"<<avg(score,num,i)<<",";
cout<<endl;
}
return 0;
}
void input(double s[][4],int n)
{
int i,j,sum=0;
for(j=0;j<n;j++)
{
cout<<"请输入第"<<j<<"位同学的高等数学、英语、C++的成绩:"<<endl;
for(i=0;i<3;i++)
{
cin>>s[j][i];
sum=sum+s[j][i];
}
s[j][3]=sum;
sum=0;//每循环一次就为sum赋一次初值
}
return;
}
void output(double s[][4],int n)
{
int j,k;
for(k=0;k<n;k++)
{
cout<<"第"<<k<<"位同学的";
for(j=0;j<4;j++)
{
cout<<course[j]<<"成绩:"<<s[k][j]<<endl;//j表示第几门课程
}
}
return;
}
double max(double s[][4],int n,int i)
{
int j;
double Max=0;
for(j=0;j<n;j++)
{
if(s[j][i]>Max)
Max=s[j][i];
}
return Max;
}
double min(double s[][4],int n,int i)
{
int j;
double Min=100;
for(j=0;j<n;j++)
{
if(s[j][i]<Min)
Min=s[j][i];
}
return Min;
}
double avg(double s[][4],int n,int i)
{
int j;
double sum=0,ave;
for(j=0;j<n;j++)
{
sum+=s[j][i];
}
ave=sum/n;
return ave;
}
运行结果:
写这个程序写了很久,不过又有了新的认识。知道的越来越多了,嘻嘻嘻。