#include <iostream.h>
struct STUDENT
{
char name[8];
char id[10];
int score[3];
double ave;
};
STUDENT InputData()
{
STUDENT stu;
cout<<"姓名:";
cin>>stu.name;
cout<<"学号:";
cin>>stu.id;
int aveResult=0;
cout<<"三门成绩:";
cin>>stu.score[0]>>stu.score[1]>>stu.score[2];
return stu;
}
void CalAverage(STUDENT *data,int nNum)
{
for(int i=0;i<nNum;i++)
data[i].ave=(data[i].score[0]+data[i].score[1]+data[i].score[2])/3.0;
}
void PrintData(STUDENT *data,int nNum)
{
cout<<data[nNum].id<<"/t"<<data[nNum].name;
for(int j=0;j<3;j++)
cout<<"/t"<<data[nNum].score[j];
cout<<"/t"<<data[nNum].ave<<endl;
}
void stusort(STUDENT *data)
{
double Ai[6][2];
int i,j,temp;
for(i=0;i<5;i++)
{
Ai[i][0]=i;
Ai[i][1]=data[i].ave;
}
for(i=0;i<5;i++)
{
temp=i;
for(j=i;j<5;j++)
{
if(Ai[temp][1]<Ai[j][1])
{
temp=j;
}
}
if(temp!=i)
{
Ai[5][0]=Ai[i][0];
Ai[5][1]=Ai[i][1];
Ai[i][0]=Ai[temp][0];
Ai[i][1]=Ai[temp][1];
Ai[temp][0]=Ai[5][0];
Ai[temp][1]=Ai[5][1];
}
}
cout<<"/n学号/t姓名/t成绩/t成绩/t成绩/t平均分/n";
for(i=0;i<5;i++)
PrintData(data,Ai[i][0]);
}
void main()
{
const int stuNum=5;
STUDENT stu[stuNum];
for(int i=0;i<stuNum;i++)
{
cout<<"输入第"<<i+1<<"个学生信息/n";
stu[i]=InputData();
}
CalAverage(stu,stuNum);
stusort(stu);
}