1:思维导图
2:尝试学生结构体数组,完成成员的输入,以成绩为条件完成对学生成员的冒泡排序并输出(全部在主函数内完成)
1 #include <stdio.h>
2 #include <string.h>
3 #include <stdlib.h>
4 #define MAX 5
5 struct stu
6 {
7 char name[20];
8 int age;
9 double score;
10 };
11 void sort(struct stu *p)
12 {
13 struct stu t;
14 int i,j;
15 for(i=1;i<MAX;i++)
16 {
17 for(j=0;j<MAX-i;j++)
18 {
19 if(p[j].score>p[j+1].score)
20 {
21 t=p[j];
22 p[j]=p[j+1];
23 p[j+1]=t;
24 }
25 }
26 }
27 }
28 int main(int argc, const char *argv[])
29 {
30 struct stu *p=(struct stu*)malloc(sizeof(struct stu)*5);
31 for(int i=0;i<MAX;i++)
32 {
33 scanf("%s",(*(p+i)).name);
34 scanf("%d",&((p+i)->age));
35 scanf("%lf",&((p+i)->score));
36 }
37 sort(p);
38
39 for(int i=0;i<MAX;i++)
40 {
41 printf("%s\t%d\t%lf\n",p[i].name,p[i].age,p[i].score);
42 }
43
44 return 0;
45 }
运行结果: