模拟试题

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

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

来源:2exam.com 2013-10-30 10:23:12

 解题思路: 

  本题是根据给定的字符串数组中删除串长大于某个值的字符串。 

  第一处:利用for循环,从几个字符串中进行查找,程序中已经给定了N个字符串,所以应填:N。 

  第二处:串长由形参k来传递,所以应填:k。 

  第三处:如果字符串ss[i]的串长小于k,则该字符串仍存在原字符串数组中,位置由变量j 来控制,所以应填:ss[i]。 

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

  给定程序MODI1.C中函数fun的功能是:逐个比较p、q所指两个字符串对应位置中的字符,把ASCII值大或相等的字符依次存放到c所指数组中,形成一个新的字符串。 

  例如,若主函数中a字符串为:aBCDeFgH, 

  主函数中b字符串为:ABcd, 

  则c中的字符串应为:aBcdeFgH。 

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

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

  给定源程序: 

  #include  

  #include  

  void fun(char *p ,char *q, char *c) 

  { 

  int k = 1; 

  while( *p != *q ) 

  { if( *p<*q ) c[k]=*q; 

  else c[k]=*p; 

  if(*p) p++; 

  if(*q) q++; 

  k++; 

  } 

  } 

  main() 

  { char a[10]="aBCDeFgH", b[10]="ABcd", c[80]={’\0’}; 

  fun(a,b,c); 

  printf("The string a: "); puts(a); 

  printf("The string b: "); puts(b); 

  printf("The result : "); puts(c); 

  } 

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