作业一:结构体数组存储学生信息(姓名,年龄,分数),完成输入学生信息,输出学生信息,求学生成绩之和,求最低学生成绩。
1 #include <myhead.h>
2 #define N 100
3 struct xitong
4 {
5 char name[20];
6 int age;
7 int score;
8 };
9 void input(struct xitong *gn,int n)
10 {
11 for(int i=0;i<n;i++)
12 {
13 printf("请输入第%d个学生姓名:",i+1);
14 scanf("%s",gn[i].name);
15 printf("请输入第%d个学生年龄:",i+1);
16 scanf("%d",&gn[i].age);
17 printf("请输入第%d个学生成绩:",i+1);
18 scanf("%d",&gn[i].score);
19 }
20 printf("录入成功\n");
21 }
22 void put(struct xitong *gn,int n)
23 {
24 for(int i=0;i<n;i++)
25 {
26 printf("%s\t%d\t%d\n",gn[i].name,gn[i].age,gn[i].score);
27 }
28 }
29 void sum(struct xitong *gn,int n)
30 {
31 int x=0;
32 for(int i=0;i<n;i++)
33 {
34 x+=gn[i].score;
35 }
36 printf("总成绩为:%d\n",x);
37 }
38 void min(struct xitong *gn,int n)
39 {
40 int x=gn[0].score,y=0;
41 for(int i=1;i<n;i++)
42 {
43 if(x>gn[i].score)
44 {
45 x=gn[i].score;
46 y=i;
47 }
48 }
49 printf("%s\t%d\t%d\n",gn[y].name,gn[y].age,gn[y].score);
50 }
51 int main(int argc,const char* argv[])
52 {
53 int a=0;
54 printf("请输入学生个数:");
55 scanf("%d",&a);
56 struct xitong gn1[N];
57 input(gn1,a);
58 put(gn1,a);
59 sum(gn1,a);
60 min(gn1,a);
61 return 0;
62 }
作业二:在堆区,申请5个结构体空间,存储学生信息(姓名,分数)
循环输入学生信息,按照输入姓名查找某个学生,修改其成绩为100分。
1 #include <myhead.h>
2 #define N 100
3 struct xitong
4 {
5 char name[20];
6 int score;
7 };
8 void input(struct xitong *gn)
9 {
10 for(int i=0;i<5;i++)
11 {
12 printf("请输入第%d个学生姓名:",i+1);
13 scanf("%s",gn[i].name);
14 printf("请输入第%d个学生分数:",i+1);
15 scanf("%d",&gn[i].score);
16 }
17 printf("录入完成\n");
18 }
19 void change(struct xitong *gn)
20 {
21 char xm[20]="";
22 int score1=0;
23 printf("请输入学生名称:");
24 scanf("%s",xm);
25 printf("请输入更改后的分数:");
26 scanf("%d",&score1);
27 for(int i=0;i<5;i++)
28 {
29 if(strcmp(xm,gn[i].name)==0)
30 {
31 gn[i].score=score1;
32 }
33 }
34 for(int j=0;j<5;j++)
35 {
36 printf("%s\t%d\n",gn[j].name,gn[j].score);
37 }
38 }
39 int main(int argc,const char*argv[])
40 {
41 struct xitong *p=malloc(sizeof(struct xitong)*5);
42 input(p);
43 change(p);
44 return 0;
45 }
46