#include
#include
typedef
struct student_st
{
int num;
char name[20];
int score1;
int score2;
int score3;
float average;
};
void createstudent(struct student_st a)
{
int i,j;
float average;
for(i=0;i<3;i++)
{
printf("enter student %d\n",i+1);
printf("学号为:");
scanf("%d",&stu[i].num);
printf("姓名是:");
scanf("%s",&stu[i].name);
printf("第1门成绩是:");
scanf("%d",&stu[i].Score1);
printf("第2门成绩是:");
scanf("%d",&stu[i].Score2);
printf("第3门成绩是:");
scanf("%d",&stu[i].Score3);
printf("\n");
stu[i].average = (stu[i].Score1+stu[i].Score2+stu[i].Score3)/3;
}
}
void sortstudent(struct student_st b,int c)
{
int i,j,max;
struct student_st temp;
for(i=0;i
{
max=i;
for(j=i+1;j
{
if(stu[j].average > stu[max].average)
max=j;
}
if(max!=i)
{
temp = stu[j];
stu[j] = stu[i];
stu[i] = temp;
}
}
}
int main()
{
int i;
struct student_st stu;
struct student_st stu[3];
createstudent(stu);
sortstudent(stu,3);
printf("id\tname\tscore1\tscore2\tscore3\taverage\n");
for(i=0;i<3;i++)
{
printf("%d%s%d%d%d%f",stu[i].num,stu[i].name,stu[i].score1,stu[i].score2,stu[i].score3,stu[i].average );
printf("\n");
exit(0);
}