在主函数中已将N名学生的成绩放入一个带头结点的链表结构中,h指向链表的头结点。请编写函数fun,它的功能是:求出平均分,由函数值返回。
例如,若学生的成绩是:85,76,69,85,91,72,64,87,则平均分应当是:78.625。
注意:部分源程序在文件PROG1.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
文件PROG1.C内容如下:
#include<stdio.h>
#include<stdlib.h>
#define N 8
struct slist
double s ;
struct stist * next;
;
typedef struct slist STREC;
double fun(STREC * h )
STREC * creat( double * s)
STREC * h, * p, * q;
int i=0;
h = p = (STREC * ) malloe (sizeof( STREC ));
p->s=0;
while(i<N)
q=(STREC * ) malloe ( sizeof( STREC ) ) ;
q->s=s[i] ;
i++;
p->next = q ;
p=q;
p->next = 0 ;
return h ;
void outlist (STREC * h)
STREC * p ;
p = h->next ;
prinff( " head" ) ;
do
prinff( " ->% 4.1f" , p->s) ;
p=p->next;
while(p! =0);
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 );
prinff("ave= %6.3f\n" ,ave) ;