#include <stdio.h>
struct students
{
char number[20];
char name[20];
double c;
double math;
double english;
double grade;
double ave;
};
struct students stu[5];
void scan();
void gra();
void ave();
void print();
void Sort();
int main()
{
scan();
gra();
ave();
print();
Sort();
return 0;
}
void scan()
{
int i;
printf("请输入学生学号,姓名,C语言成绩,高数成绩,英语成绩\n");
for (i=0;i<5;i++){
scanf("%s %s %lf %lf %lf",stu[i].number,stu[i].name,&stu[i].c,&stu[i].math,&stu[i].english);
}
}
void gra()
{
int i;
for (i=0;i<5;i++){
stu[i].grade=stu[i].c+stu[i].math+stu[i].english;
}
}
void ave()
{
int i;
for (i=0;i<5;i++){
stu[i].ave=stu[i].grade/3;
}
}
void print()
{
int i;
for (i=0;i<5;i++){
printf("学号%s\t姓名%s\t总分%.2lf\t平均分%.2lf\n ",stu[i].number,stu[i].name,stu[i].grade,stu[i].ave);
}
printf("------------------------------------------------\n");
}
void Sort()
{
int i,j;
struct students t;
for (i=0;i<4;i++){
for (j=i+1;j<5;j++){
if(stu[i].c<stu[j].c)
{
t=stu[j];
stu[j]=stu[i];
stu[i]=t;
}
}
}
for (i=0;i<5;i++){
printf("学号%s\t姓名%s\tC语言成绩%.2lf\n ",stu[i].number,stu[i].name,stu[i].c);
}
}