以文本方式查看主题

-  泥客论坛(十几年前的回忆)  (http://www.kesonic.com/bbs/index.asp)
--  ☆电脑应用☆  (http://www.kesonic.com/bbs/list.asp?boardid=5)
----  [求助]请帮忙一下,这一道C语言怎样做啊?麻烦帮一忙吧^  (http://www.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:我的专业不是计算机,所以即使想帮你也有心而力不足啊哦~