N名学生的成绩己在主函数中放入一个带头节点的链表结构中,h指向链表的头节点。请编写函数fun(),它的功能是:求出平均分,由函数值返回。例如,若学生的成绩是85,76,69,91,72,64,87,则平均分应当是78.625。注童:部分源程序给出如下.请勿改动主函数main和其他函数中的任何内容,仅在函数6m的花括号中填入所编写的若干语句。试题程序:include<stdlib.h>include<stdio. h>define N 8struct 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);}
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);
}