模拟试题

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

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

来源:2exam.com 2013-10-30 19:54:39

解题思路: 

  第一处:利用for循环语句取当前字符串的长度,所以应填:ss[i]。 

  第二处:在字符串的右边填字符*,其开始位置是n+j,其中n是该字符串本身的长度,j是

  循环控制变量,所以应填:n+j。 

  第三处:字符串处理结束应置字符串结束符,其位置是n+j+1,所以应填:1。 

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

  给定程序MODI1.C中 fun 函数的功能是:将p所指字符串中每个单词的最后一个字母改成大写。(这里的“单词”是指由空格隔开的字符串)。 

  例如, 若输入 

  "I am a student to take the examination.", 

  则应输出 "I aM A studenT tO takE thE examination."。 

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

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

  给定源程序: 

  #include  

  #include  

  void fun( char *p ) 

  { 

  int k = 0; 

  for( ; *p; p++ ) 

  if( k ) 

  { 

  if( p == ’ ’ ) 

  { 

  k = 0; 

  * (p-1) = toupper( *( p - 1 ) ) 

  } 

  } 

  else 

  k = 1; 

  } 

  main() 

  { 

  char chrstr[64]; 

  int d ; 

  printf( "\nPlease enter an English sentence within 63 letters: "); 

  gets(chrstr); 

  d=strlen(chrstr) ; 

  chrstr[d] = ’ ’ ; 

  chrstr[d+1] = 0 ; 

  printf("\n\nBefore changing:\n %s", chrstr); 

  fun(chrstr); 

  printf("\nAfter changing:\n %s", chrstr); 

  }

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