#include <stdio.h>
struct student {
int munber;
char name[10];
int math;
int chinese;
int english;
};
int main(int argc, const char *argv[])
{
int i,j;
struct student stu1[10];
struct student t;
printf("输入学生信息\n");
for(i=0;i<5;i++)
{
scanf("%d %s %d %d %d",&stu1[i].munber,stu1[i].name,&stu1[i].math,&stu1[i].chinese,&stu1[i].english);
}
printf("按照数学成绩降序排\n");
for(i=0;i<5;i++)
{
for(j=0;j<5-i-1;j++)
{
if(stu1[j].math<stu1[j+1].math)
{
t=stu1[j];
stu1[j]=stu1[j+1];
stu1[j+1]=t;
}
}
}
for(i=0;i<5;i++)
{
printf("%d %s %d %d %d\n",stu1[i].munber,stu1[i].name,stu1[i].math,stu1[i].chinese,stu1[i].english);
}
return 0;
}
得到结果如下:
ubuntu@ubuntu:作业$ gcc 1.c
ubuntu@ubuntu:作业$ ./a.out
输入学生信息
1 小李 54 31 25
2 小刘 58 72 65
3 小白 59 75 25
4 小虎 78 52 69
5 小猴 57 45 69
按照数学成绩降序排
4 小虎 78 52 69
3 小白 59 75 25
2 小刘 58 72 65
5 小猴 57 45 69
1 小李 54 31 25
ubuntu@ubuntu:作业$