模拟试题

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

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

来源:2exam.com 2013-10-30 19:18:59

解题思路: 

  本题是考察使用链表方法,对链表的结点数据进行降序排列。 

  第一处:使用结构指针p,来控制链表的结束,p必须指向h结构指针的next指针,来定位p的初始位置。所以应填写:h->next。 

  第二处:判断p指针是否结束,所以应填写:0。 

  第三处:q指向原q的next指针,所以应填:r。 

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

  给定程序MODI1.C中函数fun的功能是: 计算s所指字符串中含有t所指字符串的数目, 并作为函数值返回。 

  请改正函数fun中指定部位的错误, 使它能得出正确的结果。 

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

  给定源程序: 

  #include  

  #include  

  #define N 80 

  int fun(char *s, char *t) 

  { int n; 

  char *p , *r; 

  n=0; 

  while ( *s ) 

  { p=s; 

  /****

  r=p; 

  while(*r) 

  if(*r==*p) { r++; p++; } 

  else break; 

  /****

  if(*r= 0) 

  n++; 

  s++; 

  } 

  return n; 

  } 

  main() 

  { char a[N],b[N]; int m; 

  printf("\nPlease enter string a : "); gets(a); 

  printf("\nPlease enter substring b : "); gets( b ); 

  m=fun(a, b); 

  printf("\nThe result is : m = %d\n",m); 

  } 

  解题思路: 

  第一处: 程序中子串是由变量t来实现的,再根据下面while循环体中语句可知,所以应改为:r=t;。 

  第二处: 是判断相等的条件,所以应改为:if(*r==0)。 

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

  请编写函数fun, 函数的功能是: 将放在字符串数组中的M个字符串(每串的长度不超过N), 按顺序合并组成一个新的字符串。函数fun中给出的语句仅供参考。 

  例如, 字符串数组中的M个字符串为 

  AAAA 

  BBBBBBB 

  CC 

  则合并后的字符串的内容应是: AAAABBBBBBBCC。 

  提示:strcat(a,b)的功能是将字符串b复制到字符串a的串尾上,成为一个新串。 

  注意:部分源程序在文件PROG1.C中。 

  请勿改动主函数main和其它函数中的任何内容, 仅在函数fun的花括号中填入你编写的若干语句。 

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