网友您好, 请在下方输入框内输入要搜索的题目:
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);
}
参考答案