链表求平均
2020年05月04日 22:50 __ _ _ _ _
不点蓝字,我们哪来故事?
**Am I dead? No, so I can’t live like a dead one!
**
我死了吗?没有,所以我不能活得像死了一样! ** 任务: **
N名学生的成绩已在主函数中放入一个带头节点的链表结构中, h指向链表的头节点。函数
fun的功能是求出平均分,由函数值返回。例如学生的成绩是:85,76,69,85,91,72,64,87, 则平均分应当是 78.625。
源代码:
#include <stdio.h>#include <stdlib.h>#define N 8struct slist{ double s; struct slist *next;};
typedef struct slist STREC;double fun( STREC *h ){ STREC *t; double a=0; t=h->next; while(t) { a+=t->s; t=t->next; } return a/N;}
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[i]; i++; p->next=q; p=q; } p->next=0;
return h;}
double outlist( STREC *h){ STREC *p; p=h->next;
printf("head"); do{ printf("->%4.1f",p->s); p=p->next;
} while(p!=0);
printf("\n\n");}
int 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);
return 0;}
运行结果:


最后的话:刷题要找自己的不足,然后去专攻。
往期推荐:
刷路由,你会玩么?(一) 2020-04-23
刷新路由3的那些事(二) 2020-04-24
关于路由的其他功能(剧终) 2020-04-25
公众号:程序员Bob
一个正在学习C语言的人,致力于将C讲得更透彻!
点赞关注谢谢你
长按下图二维码关注,和你一起领悟程序员的魅力。

点“ 在看 ” 你懂得

预览时标签不可点
阅读
__
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 小Bob的博客!











