N名学生的成绩已在主函数中放人一个带头结点的链表结构中,h指向链表的头结点。请编写函数fun,其功能是:求出平均分,并由函数值返回。
例如,若学生的成绩是:85,76,69,85,9l,72,64,87,则平均分应当是:78625。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若千语句。
试题程序:
#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*)mallocsizeof(STREC));
P->s=0;
whilel(i<N)
q=(STREC*)mallodsizeof(STREC));
q->s=s[i];i++lp->next=q;P=q;
p->next=0;
return h;
ouclist(STREC*h)
STREC*p;
P=h->next;
printf("head");
do
printf("->%4.1f",p->s);
P=P->next;/*输出各成绩*/
while(p!=NULL);
printf("\n\n");
void 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);