引导语:我们将要迎来2017年9月份的计算机考试,大家准备好了吗,以下是百分网小编分享给大家的计算机二级C语言上机题库及答案2017,欢迎测试!

  一、填空题

  给定程序中已建立一个带有头结点的单向链表,在main函数中将多次调用fun 函数,每调用一次fun函数,输出链表尾部结点中的数据,并释放该结点,使链表缩短。

  请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

  注意:源程序存放在考生文件夹下BLANK1.C中。

  不得增行或删行,也不得更改程序的结构!

  给定源程序:

  #include

  #include

  #define N 8

  typedef struct list

  {int data;

  struct list *next;

  } SLIST;

  void fun(SLIST *p)

  {SLIST *t, *s;

  t=p->next; s=p;

  while(t->next != NULL)

  {s=t;

  /**********found**********/

  t=t->___1___;

  }

  /**********found**********/

  printf(" %d ",___2___);

  s->next=NULL;

  /**********found**********/

  free(___3___);

  }

  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("nThe list is NULL!n");

  else

  {printf("nHead");

  do {printf("->%d",p->data); p=p->next;} while(p!=NULL);

  printf("->Endn");

  }

  }

  main()

  {SLIST *head;

  int a[N]={11,12,15,18,19,22,25,29};

  head=creatlist(a);

  printf("nOutput from head:n"); outlist(head);

  printf("nOutput from tail: n");

  while (head->next != NULL){

  fun(head);

  printf("nn");

  printf("nOutput from head again :n"); outlist(head);

  }

  }

  解题答案:

  /**********第一空**********/

  t=t->next;

  /**********第二空**********/

  printf(" %d ",t->data);

  /**********第三空**********/

  free(t);

  ******************************************

1.《二级c上机题库 计算机二级C语言上机题库及答案2017》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

2.《二级c上机题库 计算机二级C语言上机题库及答案2017》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/jiaoyu/97189.html