#include <stdio.h>
#include <stdlib.h>
#include <math.h>
typedef struct CoursesScore
{
int ChineseScore;
int MathScore;
int EnglishScore;
char StudentName[10];
}CoursesScore,CoursesScoreRecords[8];
typedef struct studentscore
{
CoursesScore cs;
int sum;
}studentscore;
void operfunc(studentscore strList[],int strlength)
{
int math=0;
int english=0;
int chinese=0;
for (int i=0;i<strlength;i++)
{
math+=strList[i].cs.MathScore;
english+=strList[i].cs.EnglishScore;
chinese+=strList[i].cs.ChineseScore;
strList[i].sum=0;
strList[i].sum+=strList[i].cs.MathScore+strList[i].cs.ChineseScore+strList[i].cs.EnglishScore;
}
for (int i=0;i<strlength;i++)
{
for (int j=0;j<strlength-1;j++)
{
if(strList[j].sum>strList[j+1].sum)
{
studentscore temp=strList[j+1];
strList[j+1]=strList[j];
strList[j]=temp;
}
}
}for (int i=strlength-1;i>=strlength-3;i--)
{
printf("%d %d %d %s\n",strList[i].cs.ChineseScore,
strList[i].cs.EnglishScore,strList[i].cs.MathScore,strList[i].cs.StudentName);
}
}