以文本方式查看主题 - 泥客论坛(十几年前的回忆) (http://kesonic.com/bbs/index.asp) -- ☆电脑应用☆ (http://kesonic.com/bbs/list.asp?boardid=5) ---- [求助]请帮忙一下,这一道C语言怎样做啊?麻烦帮一忙吧^ (http://kesonic.com/bbs/dispbbs.asp?boardid=5&id=8483) |
-- 作者:JennyWen -- 发布时间:2005/6/12 17:54:45 -- [求助]请帮忙一下,这一道C语言怎样做啊?麻烦帮一忙吧^ 要求建立一链表,将in.txt中的某科各学生分数存入链表中,并求出平均分数,将此分数输出到屏幕。程序结构如下: #include <stdio.h> #include <conio.h> #include <math.h> main() { FILE *in; char ch; int EachScore,n=0; float total=0; int HandleCH(FILE *in,char ch); struct Student{ int score; struct Student *next; }*head,*p1,*p2; clrscr(); head=p1=p2=(struct Student *)malloc(sizeof(struct Student)); /*打开in.txt文件,通过判断是否为文件结束,构造循环,从而逐个成绩读取通过HandleCH函数返回*/ /*将每一个成绩至于一个节点中,构造成绩链表,方法见第十一章Creatlink.c文件*/ p1=head; printf("Each student\'s score is:"); while(p1!=NULL) { /*通过遍历链表来打印每个学生成绩,同时统计学生人数置于n,并且将成绩累加于total */ } printf("\\nThe everage score is:%f\\n",total/n); } /*HandleCH用于读取每一行的字符并将其求和*/ int HandleCH(FILE *in,char ch) { int i,EachScore=0,count=0,num[200]; while(ch!=\'\\n\') { num[count]=ch-48; /*0的ASCII是48*/ count++; ch=fgetc(in); } for(i=0;i<count;i++) { EachScore+=num[i]*pow(10,count-1-i); } return EachScore; } ![]() ![]() |
-- 作者:JennyWen -- 发布时间:2005/6/12 17:58:34 -- 接着上一题的题目,这个是得提示来的 90 100 98 80 50 60 90 100 98 80 50 60 90 100 98 80 50 60 90 100 98 80 50 60 |
-- 作者:小轲 -- 发布时间:2005/6/12 18:07:13 -- while(p1!=NULL) { /*通过遍历链表来打印每个学生成绩,同时统计学生人数置于n,并且将成绩累加于total */ } ![]() |
-- 作者:小轲 -- 发布时间:2005/6/12 18:11:28 -- 我当时就不明白链表这个数据结构 所以现在就更不会了.... 楼主是学什么的?怎么老是和编程打交道呢? ![]() |
-- 作者:JennyWen -- 发布时间:2005/6/15 21:40:28 -- ![]() ![]() ![]() |
-- 作者:小轲 -- 发布时间:2005/6/16 9:57:00 -- 如果真的是作业的话,还是自己独立完成吧~ 别人帮你完成有什么用呢? ps:我的专业不是计算机,所以即使想帮你也有心而力不足啊哦~ |