200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > C 用单向链表建立一张班级成绩单 包括每个学生的学号 姓名 英语 高等数学 普通

C 用单向链表建立一张班级成绩单 包括每个学生的学号 姓名 英语 高等数学 普通

时间:2022-06-19 22:55:48

相关推荐

C 用单向链表建立一张班级成绩单 包括每个学生的学号 姓名 英语 高等数学 普通

用单向链表建立一张班级成绩单,包括每个学生的学号、姓名、英语、高等数学、普通物理、C语言程序设计4门课程的成绩。实现以下功能,并提供菜单选项:

0.退出

1.输入每个学生的各项信息

2.输出每个学生的各项信息

3.修改指定学生的指定数据项的内容:

1.修改英语成绩

2.修改高等数学成绩

3.修改普通物理成绩

4.修改C语言成绩

4.统计每个学生的平均成绩(保留2位小数)

5.输出各位学生的学号、姓名、4门课程的总成绩和平均成绩

(注意:每项功能可多次选择,例如,先选功能1,输入3个学生,后面又选功能1,输入2个学生,则此时共有5个学生,再选择功能5时,应该输出5个学生的信息。)

测试输入:

依次输入功能编号1,学生数量n,每个学生的学号、姓名和成绩;功能编号2;功能编号3,指定学生的学号,修改的数据项,数据;功能编号4;功能编号5:

1 (功能编号)

4 (学生人数)

U20345 Jack 99 100 80 96 (学号 姓名 英语 数学 物理 C语言成绩)

U54321 Rose 89 94 85 100

U56789 Tom 12 34 56 78

U98765 Jerry 98 76 54 32

2 (功能编号)

3 (功能编号)

U54321 1 66 (将学号为U54321的同学的英语成绩修改为66)

4 (功能编号)

5 (功能编号)

预期输出:

U20345 Jack 99 100 80 96

U54321 Rose 89 94 85 100

U56789 Tom 12 34 56 78

U98765 Jerry 98 76 54 32

U20345 Jack 93.75

U54321 Rose 86.25

U56789 Tom 45.00

U98765 Jerry 65.00

U20345 Jack 375 93.75

U54321 Rose 345 86.25

U56789 Tom 180 45.00

U98765 Jerry 260 65.00

#include<conio.h>#include<stdio.h> #include<stdlib.h> #include<string.h>#define N 4 struct list {char num[8], name[9];int c, phy, e, math;struct list* next;};list * creat() //输入学生{int n;scanf("%d",&n);int i;list * h = (struct list*)malloc(sizeof(struct list));list* p2 = h;for (int i = 0; i < n; i++){struct list* p = (struct list*)malloc(sizeof(struct list)); scanf("%s %s %d %d %d %d",p->num,p->name,&p->c,&p->phy,&p->e,&p->math);p2->next = p;p2 = p;p->next = NULL;} return h; }void input(struct list* p) {while (p != NULL) {scanf("%s%s%d%d%d%d", p->num, p->name, &p->c, &p->phy, &p->e, &p->math);p = p->next;}}void out(struct list* p) {struct list *q = p->next;while (q != NULL) {printf("%s\t%s\n", q->num, q->name);printf("%d\t%d\t%d\t%d\n", q->c, q->phy, q->e, q->math);q = q->next;}}void change(struct list* p, char* p1) {while (p != NULL) {if (strcmp(p->num, p1))scanf("%s%s%d%d%d%d", p->num, p->name, &p->c, &p->phy, &p->e, &p->math);p = p->next;}}void sum(struct list* q) {int i = 0, j = 0, k = 0, l = 0;int sum = 0;struct list *p = q->next;while (p != NULL) {sum += p->c;sum += p->phy;sum += p->e;sum+= p->math; printf("%d\t%f\n", sum, (float)sum / 4);sum = 0;p = p->next;}}void main() {struct list* p=NULL, * h;char c, * p1=NULL;h=creat(); //input(h);// h = p;out(h);// h = p;sum(h);//h = p;printf("if you want change the information please input 1 ");c = getch();//需要头文件 conio.hif (c == '1'){scanf("%s", p1);change(h, p1);}}

C 用单向链表建立一张班级成绩单 包括每个学生的学号 姓名 英语 高等数学 普通物理 C语言程序设计4门课程的成绩。实现以下功能 并提供菜单选项:(只实现了部分功能)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。