Y.H 发表于 2011-9-16 12:55:50

零基础C语言第55讲课后作业动态链表循环图.

本帖最后由 Y.H 于 2011-9-16 12:58 编辑

大家都知道这个题目但输入的num为0是就结束创建节点
嗯,我不是讲解这个题目,只是做了个图片表示当输入的num为0后这个链表的流程图。
用黑色的粗毛笔画掉的是执行了代码:
while (p1->num)
      {
            n++;
            if (1 == n)
            {
                  head = p1;
            }
            else                                  //画了粗毛笔线的用因为执行了从这里开始的这段代码
            {
                  p2->next = p1;
            }
            p2 = p1;                              //画了粗毛笔线的用因为执行了从else到这里的这段代码
            
            p1 = (struct student *)malloc(sizeof (struct student));   
            
            printf ("input Num : ");                  
            scanf ("%ld", &p1->num);
            printf ("input Score : ");
            scanf ("%lf", &p1->score);            
      }
传上来的图片坑能有点不清晰,后面有这张图片的附件,请下载看!

http://bbs.fishc.com/data/attachment/album/201109/16/124647lll4qnqwni69dqgr.png

附件:
最后有点错误,第3个节点那里的p1也应该是用粗毛笔线画掉的,因为它指向了新的节点入口。
个人疏忽!请原谅!

我爱软件开发 发表于 2016-4-14 10:42:45

{:5_102:}
页: [1]
查看完整版本: 零基础C语言第55讲课后作业动态链表循环图.