1 #include <stdio.h>
2 #include <string.h>
3 #define MAX 20
4 struct Stu
5 {
6 int num;//学号
7 char name[32];//姓名
8 int score;//成绩
9 };
10 struct Class
11 {
12 struct Stu s[MAX];//存储学生的数组
13 int len;//班级现有人数
14 };
15
16
17
18
19
20 void add(struct Class *c,struct Stu k)
21 {
22 if(c->len>=MAX)
23 {
24 printf("输入超出范围\n");
25 return;
26 }
27 c->s[c->len]=k;
28 c->len++;
29 }
30 void output(struct Class class1)
31 {
32 printf("输出信息如下\n");
33 printf("学号\t姓名\t\t成绩\n");
34 int i;
35 for(i=0;i<class1.len;i++)
36 {
37
38 printf("%d\t%s\t\t%d\n",class1.s[i].num,class1.s[i].name,class1.s[i].score);
39 }
40 }
41 void score_max(struct Class class1)
42 {
43 int count=0;
44 int i;
45 for(i=0;i<class1.len;i++)
46 {
47 if(class1.s[count].score<class1.s[i].score)
48 {
49 count=i;
50 }
51 }
52 printf("最高成绩学生信息\n");
53 printf("学号\t姓名\t\t成绩\n");
54
printf("%d\t%s\t\t%d\n",class1.s[count].num,class1.s[count].name,class1.s[count].score);
55 }
56 void my_px(struct Class *c)
57 {
58 struct Stu t;
59 int i,j;
60 for(i=0;i<c->len-1;i++)
61 {
62 for(j=0;j<c->len-1-i;j++)
63 {
64 if(c->s[j].score>c->s[j+1].score)
65 {
66 t=c->s[j];
67 c->s[j]=c->s[j+1];
68 c->s[j+1]=t;
69 }
70 }
71 }
72 }
73 void my_find(struct Class class1)
74 {
75 char nam[10]="";
76 printf("请输入一个名字\n");
77 scanf("%s",&nam);
78 int i;
79 for(i=0;i<class1.len;i++)
80 {
81
82 if(!strcmp(nam,class1.s[i].name))
83 {
84 printf("该学生在此班级\n");
85 break;
86 }
87
88 }
89 printf("查找失败\n");
90 }
91 int main(int argc, const char *argv[])
92 {
93 struct Class class1;//定义一个班级结构体类型的班级class1,class1中有len(现有学生数)和学生的数组
94 class1.len=0;//班级现有人数初始化为0;
95 //循环输入成绩
96 for(;;)
97 {
98 struct Stu k;
99 printf("请输入学生的学号:\n");
100 scanf("%d",&k.num);
101 printf("请输入学生的名字:\n");
102 scanf("%s",k.name);
103 printf("请输入学生的成绩:\n");
104 scanf("%d",&k.score);
105 add(&class1,k);
106 printf("是否继续输入(y|n)");
107 char judge;
108 scanf(" %c",&judge);
109 if(judge=='n'||judge=='N')
110 {
111 break;
112 }
113 }
114 output(class1);
115 score_max(class1);
116 my_px(&class1);
117 printf("排序后输出结果:\n");
118 output(class1);
119 my_find(class1);
120
121 return 0;
122 }
9.14作业
最新推荐文章于 2024-09-12 23:51:52 发布