N名学生的成绩己在主函数中放入一个带头节点的链表结构中,h指向链表的头节点。请编写函数fun(),它的功能是:求出平均分,由函数值返回。
例如,若学生的成绩是85,76,69,91,72,64,87,则平均分应当是78.625。
注童:部分源程序给出如下.
请勿改动主函数main和其他函数中的任何内容,仅在函数6m的花括号中填入所编写的若干语句。
试题程序:
include<stdlib.h>
include<stdio. h>
define N 8
struct slist
{ double s;
struct slist *next;
};
typedef struct slist STREC;
double fun(STREC *h)
{
}
STREC *creat(double *s) /*创建链表*/
{
STREC *h,*p, *q;
int i=0;
h=p= ( STREC*)malloc (sizeof (STREC));
p->s=0;
while (i<N)
{q= ( STREC*)malloc (sizeof (STREC));
q->s=s Ii]; i++;p->next=q;p=q;
}
p->next=0;
return h;
}
outlist (STREC *h)
{
STREC *p;
p=h->next;
printf ("head ");
do
{printf ("->%4. if ",p->s);
p=p->next; /*输出各成绩*/
}
while (p !=0)
}
main ()
{
double s [N] ={ 85,76, 69, 85, 91,72, 64,
87},ave;
STREC *h;
h=creat (s);
outlist (h);
ave=fun (h);
printf ("ave=%6.3f\n ", ave);
}
第1题:
n名学生的成绩已在主函数中放入一个带头节点的链表结构中,h指向链表的头节点。请编写函数fun,它的功能是:求出平均分,由函数值返回。
double fun(strec *h)
{double aver=0.0;
while(h!=null)
{aver+=h->s;
hy=h->next;}
aver/=n;
return aver;}
第2题:
在一个长度为n(n>1)的带头节点的单链表上,另设有尾指针r(指向尾节点),执行_______操作与链表的长度有关。
A.删除单链表中的第一个元素
B.删除单链表的尾节点
C.在单链表中第一个元素前插入一个新节点
D.在单链表最后一个元素后插入一个新节点
第3题:
【简答题】建立一个单向链表,每个节点包括学生的学号、姓名和成绩以及一个指向该结构体类型的指针成员。编写函数完成如下工作: ⑴显示链表中每一个节点的数据成员; ⑵输入一个学号i,在i个节点之前插入一个节点,若i大于节点总数,则在尾部插入一个节点; ⑶输入某个学号,删除相应节点
第4题:
27、在一个长度为n(n>1)的带头节点的单链表上,另设有尾指针r(指向尾节点),执行_______操作与链表的长度有关。
A.删除单链表中的第一个元素
B.删除单链表的尾节点
C.在单链表中第一个元素前插入一个新节点
D.在单链表最后一个元素后插入一个新节点
第5题:
9、在一个长度为n (n>1)的带头节点的单链表h 上,另设有尾指针r(指向尾节点),执行____操作与链表的长度有关。
A.删除单链表中的第一个元素
B.删除单链表中的尾节点
C.在单链表第一个元素前插入一个新节点
D.在单链表最后一个元素后插入一个新节点