模拟试题

3773考试网计算机等级考试模拟试题正文

2014年3月全国计算机二级C语言上机模拟试题三十六之2

来源:2exam.com 2013-10-30 10:30:17

解题思路: 

  本题是要求统计出带有头结点的单向链表中结点的个数。 

  第一处:对n所指的存储单元进行初始化,所以应填:*n。 

  第二处:指向p的下一个结点,所以应填:next。 

  第三处:函数调用,在主函数中已经给出了head,所以应填:head。 

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

  给定程序MODI1.C中函数fun的功能是:求出s所指字符串中最后一次出现的t 所指子字符串的地址,通过函数值返回,在主函数中输出从此地址开始的字符串; 若未找到,则函数值为NULL。 

  例如,当字符串中的内容为:"abcdabfabcdx",t中的内容为:"ab"时, 

  输出结果应是:abcdx。 当字符串中的内容为:"abcdabfabcdx",t中的内容为:"abd"时, 则程序输出未找到信息:not be found!。 

  请改正程序中的错误,使它能得出正确的结果。 

  注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! 

  给定源程序: 

  #include  

  #include  

  char * fun (char *s, char *t ) 

  { 

  char *p , *r, *a; 

  a = Null; 

  while ( *s ) 

  { p = s; r = t; 

  while ( *r ) 

  if ( r == p ) 

  { r++; p++; } 

  else break; 

  if ( *r == ’\0’ ) a = s; 

  s++; 

  } 

  return a ; 

  } 

  main() 

  { 

  char s[100], t[100], *p; 

  printf("\nPlease enter string S :"); scanf("%s", s ); 

  printf("\nPlease enter substring t :"); scanf("%s", t ); 

  p = fun( s, t ); 

  if ( p ) printf("\nThe result is : %s\n", p); 

  else printf("\nNot found !\n" ); 

  } 

触屏版 电脑版
3773考试网 琼ICP备12003406号-1