主题:2008年下半年程序员笔试考前练习(20)
http://www.educity.cn 作者:不详 来源:希赛教育
求一个链表的所有元素的平均值
typedef struct { int num;
float ave;
}Back;
typedef struct node{ float data;
struct node *next;
} Node;
Back *aveage(Node *head)
{ Back *p,*q;
p=(Back *)malloc(sizeof(Back));
if (head==NULL)
{ p->num=0;
p->ave=0; }
else
{ (1) ;
p->num=q->num+1;
(2) ; }
retuen p;
}
main()
{ Node *h; Back *p;
h=create(); /*建立以h为头指针的链表*/
if (h==NULL) printf("没有元素");
else { p=aveage(h);
printf("链表元素的均值为:%6f",p->ave);
}
}
参考答案:(1)q=aveage(head->next)
(2)p->ave=(head->data+q->ave*q->num)/p->num
求一个链表的所有元素的平均值
typedef struct { int num;
float ave;
}Back;
typedef struct node{ float data;
struct node *next;
} Node;
Back *aveage(Node *head)
{ Back *p,*q;
p=(Back *)malloc(sizeof(Back));
if (head==NULL)
{ p->num=0;
p->ave=0; }
else
{ (1) ;
p->num=q->num+1;
(2) ; }
retuen p;
}
main()
{ Node *h; Back *p;
h=create(); /*建立以h为头指针的链表*/
if (h==NULL) printf("没有元素");
else { p=aveage(h);
printf("链表元素的均值为:%6f",p->ave);
}
}
参考答案:(1)q=aveage(head->next)
(2)p->ave=(head->data+q->ave*q->num)/p->num