1 #include<stdio.h>
2 #include<string.h>
3
4 typedef struct
5 {
6 char name[20]; //名字
7 int num; //学号
8 int score[3]; //语数外
9 }stu;
10 stu mystu[10]={0};
11 int mynum=0;
14 {
15 if(mynum>=10)
16 return 0;
17 printf("1.please input name:\n");
18 scanf("%s",mystu[mynum].name);
19 printf("2.please input num:\n");
20 scanf("%d",&mystu[mynum].num);
21 printf("3.语 数 外\n");
22 scanf("%d%d%d",&mystu[mynum].score[0],&mystu[mynum].score[1],&mystu[mynum].score[2]);
23 mynum++;
24 return 1;
27 {
28 char dname[20]={0};
29 // int dnum;
30 int temp;
31 int i;
32 printf("查询输入 1姓名 2学号 3 平均分 4 总成绩 5 各科最高分\n");
33 scanf("%d",&temp);
34 printf("input:\n");
35 if(temp==1)
36 {
37 scanf("%s",dname);
38 for(i=0;i<mynum;i++)
39 {
40 if(strcmp(dname,mystu[i].name)==0)
41 {
43 }
44 }
45 return 1;
46 }
47 if(temp==2)
48 {
49 scanf("%d",&dnum);
50 for(i=0;i<mynum;i++)
51 {
52 if(dnum==mystu[i].num)
53 {
55 break;
56 }
57 }
58 return 1;
59 }
62 int avg=0;
63 printf("请输入对应学号:\n");
64 scanf("%d",&dnum);
65 for(i=0;i<mynum;i++)
66 {
67 if(dnum==mystu[i].num)
68 {
69 avg=(mystu[i].score[0]+mystu[i].score[1]+mystu[i].score[2])/3;
70 printf("该学号为%d的平均分为:%d\n",mystu[i].num,avg);
71 }
72 }
73 return 1;
74 }
75 if(temp==4)
76 {
77 int sum[10]={0};
78 int max=0;
79 for(i=0;i<mynum;i++)
80 {
81 sum[i]=sum[i]+mystu[i].score[0]+mystu[i].score[1]+mystu[i].score[2];
82 }
83 for(i=0;i<3;i++)
84 {
85 if(sum[i]>max)
86 {
87 max=i;
88 }
89 }
90 printf("%s总成绩为%d,各科成绩分别为%d,%d,%d\n",mystu[max].name,sum[max],mystu[max].score[0],mystu[max].score[1],mystu[max].score[2]);
91 return 1;
92 }
93 if(temp==5)
94 {
95 int other[10]={0};
96 int max=0;
97 int j;
98 for(i=0;i<3;i++)
99 {
100 other[i]=other[i]+mystu[i].score[i];
101 for(j=0;j<3;j++)
102 {
103 if(other[j]>max)
104 {
105 max=j;
106 }
107 }
108 printf("最高分为%d,学号为%d\n",mystu[i].score[max], mystu[i].num);
109 }
110 return 1;
111 }
112 else
113 printf("输入错误\n");
114 return 0;
115 }
116 /*int grade(void)
117 {
118 int avg=0;
119 int i;
120 printf("平均分查询:请直接输入学号:\n");
121 scanf("%d",&dnum);
122 for(i=0;i<mynum;i++)
123 {
124 if(dnum==mystu[i].num)
125 {
126 avg=(mystu[i].score[0]+mystu[i].score[1]+mystu[i].score[2])/3;
127 printf("该学号为%d的平均分为:%d\n",mystu[i].num,avg);
128 }
129 }
130 return 1;
131
132 }*/
133 int main(void)
134 {
135 int i;
136 // mynum=0;
137 for(i=0;i<3;i++)
138 {
139 if(add()==0)
140 {
141 printf("输入错误\n");
142 return 0;
143 }
144 }
145 while(1)
146 {
147 check();
148 }
149 return 0;
150 }
liujinhe@vubunta:~/student$ ./stu
1.please input name:
li
2.please input num:
1
3.语 数 外
10 20 30
1.please input name:
liu
2.please input num:
2
3.语 数 外
20 30 40
1.please input name:
wang
2.please input num:
3
3.语 数 外
30 40 50
查询输入 1姓名 2学号 3 平均分 4 总成绩 5 各科最高分
1
input:
li
li 学号:1 语:10 数:20 外:30
查询输入 1姓名 2学号 3 平均分 4 总成绩 5 各科最高分
2
input:
2
liu 学号:2 语:20 数:30 外:40
查询输入 1姓名 2学号 3 平均分 4 总成绩 5 各科最高分
3
input:
请输入对应学号:
3
该学号为3的平均分为:40
查询输入 1姓名 2学号 3 平均分 4 总成绩 5 各科最高分
3
input:
请输入对应学号:
1
该学号为1的平均分为:20
查询输入 1姓名 2学号 3 平均分 4 总成绩 5 各科最高分
3
input:
请输入对应学号:
4
查询输入 1姓名 2学号 3 平均分 4 总成绩 5 各科最高分
3
input:
请输入对应学号:
3
该学号为3的平均分为:40
查询输入 1姓名 2学号 3 平均分 4 总成绩 5 各科最高分
4
input:
wang总成绩为120,各科成绩分别为30,40,50
查询输入 1姓名 2学号 3 平均分 4 总成绩 5 各科最高分
5
input:
最高分为10,学号为1
最高分为30,学号为2
最高分为50,学号为3
查询输入 1姓名 2学号 3 平均分 4 总成绩 5 各科最高分