float s; int i; q = head;
for(i = 0; i < n; i++) {
s = (q -> english + q -> math + q -> phy + q -> c); printf(\的总成绩是:%.1f \ s = s / 4;
printf(\的平均成绩是:%.2f \ q = q -> next; printf(\ }
printf(\}
void main() {
int n;
struct list *head;
printf(\输入学生数量: \ scanf(\ head = creat_list(n); output(head, n); xiugai(head); printf(\ aver(head, n); output(head, n); }
输入五个学生的信息,程序运行结果如下:
- 11 -
结果完全正确!
(四) 实验体会
- 12 -
通过对结构与联合这一章的学习,我掌握了结构的说明和引用、结构的指针、结构数组,以及函数中使用结构的方法。这一章的学习也要求我们能够掌握动态存储分配函数的用法,掌握自引用结构和单向链表的创建、遍历,结点的增删、查找等操作。结构、联合、字段结构字计算机程序设计中都有着广泛的应用,它们是构造其他描述能力更强的构造类型的基础。所以关于这一章的内容我们要熟练掌握!
要学会用动态存储解决一些问题,能够熟练创建单向链表。但是我在试验过程中,创建链表时总是会出错,还有些生疏,今后还要多加练习,求得改进。 熟练掌握结构与联合的内容,会为我们编程提供大大的帮助!
- 13 -