模拟试题

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

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

来源:2exam.com 2013-10-30 19:01:51


  给定源程序: 

  #include <stdio.h> 

  void fun(char *s) 

  { int i,j; 

  for(i=0,j=0; s[i]!=’\0’; i++) 

  if(s[i]>=’0’ && s[i]<=’9’) 

  s[j]=s[i]; 

  s[j]="\0"; 

  } 

  main() 

  { char item[80]; 

  printf("\nEnter a string : ");gets(item); 

  printf("\n\nThe string is : \"%s\"\n",item); 

  fun(item); 

  printf("\n\nThe string of changing is : \"%s\"\n",item ); 

  } 

  解题思路: 

  第一处: 要求是取出原字符串中所有数字字符组成一个新的字符串,程序中是使用变量j 

  来控制新字符串的位置,所以应改为:s[j++]=s[i];。 

  第二处: 置新字符串的结束符,所以应改为:s[j]=’\0’;. 

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

  请编写函数fun, 函数的功能是: 将M行N列的二维数组中的字符数据, 按列的 

  顺序依次放到一个字符串中。 

  例如, 二维数组中的数据为: 

  W W W W 

  S S S S 

  H H H H 

  则字符串中的内容应是: WSHWSHWSH。 

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

  请勿改动主函数main和其它函数中的任何内容, 仅在函数fun的花括号中填入 

  你编写的若干语句。

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