设为首页 加入收藏

TOP

2013年计算机二级C语言上机题库第三十六套及答案解析
2014-11-23 20:20:27 】 浏览:8180
Tags:2013年 计算机 二级 语言 上机 题库 三十六 答案 解析

  填空题
  给定程序中,函数fun的功能是:统计出带有头结点的单向链表中结点的个数, 存放在形参n所指的存储单元中。
  请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
  注意:源程序存放在考生文件夹下的BLANK1.C中。
  不得增行或删行,也不得更改程序的结构!
  给定源程序:
  #include
  #include
  #define N 8
  typedef struct list
  { int data;
  struct list *next;
  } SLIST;
  SLIST *creatlist(int *a);
  void outlist(SLIST *);
  void fun( SLIST *h, int *n)
  { SLIST *p;
  ___1___=0;
  p=h->next;
  while(p)
  { (*n)++;
  p=p->___2___;
  }
  }
  main()
  { SLIST *head;
  int a[N]={12,87,45,32,91,16,20,48}, num;
  head=creatlist(a); outlist(head);
  fun(___3___, &num);
  printf("\nnumber=%d\n",num);
  }
  SLIST *creatlist(int a[])
  { SLIST *h,*p,*q; int i;
  h=p=(SLIST *)malloc(sizeof(SLIST));
  for(i=0; i   { q=(SLIST *)malloc(sizeof(SLIST));
  q->data=a[i]; p->next=q; p=q;
  }
  p->next=0;
  return h;
  }
  void outlist(SLIST *h)
  { SLIST *p;
  p=h->next;
  if (p==NULL) printf("The list is NULL!\n");
  else
  { printf("\nHead ");
  do
  { printf("->%d",p->data); p=p->next; }
  while(p!=NULL);
  printf("->End\n");
  }
  }
   解题思路:
  本题是要求统计出带有头结点的单向链表中结点的个数。
  第一处:对n所指的存储单元进行初始化,所以应填:*n。
  第二处:指向p的下一个结点,所以应填:next。
  第三处:函数调用,在主函数中已经给出了head,所以应填:head。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇2013年计算机二级C语言上机题库第.. 下一篇2013年计算机二级C语言上机题库第..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目