例题:有n个学生的信息(包括学号、姓名、成绩),要求按照成绩的高低顺序输出各学生的信息。

 1 /*有n个学生的信息(包括学号、姓名、成绩),要求按照成绩的高低顺序输出各学生的信息。*/
 2 #include<stdio.h>
 3 struct student
 4 {
 5     int number;
 6     char name[20];
 7     int score;
 8 };
 9 int main(void)
10 {    struct student stu[5]={001,"wang",80,002,"zhang",89,003,"wang",60,004,"zhao",97,005,"sun",100};
11     struct student temp;
12     const int n=5;
13     int i,j,k;
14     for (i=0;i<n-1;i++)
15     {
16         k=i;
17         for (j=i+1;j<n;j++)
18         {
19             if(stu[j].score>stu[k].score)
20                 k=j;
21             temp=stu[k];stu[k]=stu[i];stu[i]=temp;
22         }
23     }
24     for (i=0;i<n;i++)
25     {
26         printf("%d    %s    %d\n",stu[i].number,stu[i].name,stu[i].score);
27     }
28     return 0;
29 }

 

posted @ 2013-11-21 01:45  ASMLearner  阅读(5351)  评论(0编辑  收藏  举报