设为首页 加入收藏

TOP

2014年3月全国计算机二级C语言上机模拟试题九十八
2014-11-02 12:30:05 来源: 作者: 【 】 浏览:65
Tags:2014年 3月 全国 计算机 二级 语言 上机 模拟试题 九十八

  给定程序中,函数fun的功能是:在带有头结点的单向链表中,查找数据域中值为ch的结点。找到后通过函数值返回该结点在链表中所处的顺序号;若不存在 值为ch的结点,函数返回0值。
  请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
  注意:源程序存放在考生文件夹下的BLANK1.C中。
  不得增行或删行,也不得更改程序的结构!
  给定源程序:
  #include
  #include
  #define N 8
  typedef struct list
  { int data;
  struct list *next;
  } SLIST;
  SLIST *creatlist(char *);
  void outlist(SLIST *);
  int fun( SLIST *h, char ch)
  { SLIST *p; int n=0;
  p=h->next;
  while(p!=___1___)
  { n++;
  if (p->data==ch) return ___2___;
  else p=p->next;
  }
  return 0;
  }
  main()
  { SLIST *head; int k; char ch;
  char a[N]={’m’,’p’,’g’,’a’,’w’,’x’,’r’,’d’};
  head=creatlist(a);
  outlist(head);
  printf("Enter a letter:");
  scanf("%c",&ch);
  k=fun(___3___);
  if (k==0) printf("\nNot found!\n");
  else printf("The sequence number is : %d\n",k);
  }
  SLIST *creatlist(char *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("->%c",p->data); p=p->next; }
  while(p!=NULL);
  printf("->End\n");
  }
  }


  233网校编辑推荐


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇2014年3月全国计算机二级C语言上.. 下一篇2014年3月全国计算机二级C语言上..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: