2013年计算机三级网络技术上机模拟题及答案解析十六_第2页

考试站(www.examzz.com)   【考试站:中国教育考试第一门户】   2013年4月18日
  【答案】
  void StrOR(void)
  {
  int i,j,k; /*定义循环控制变量*/
  int index,str; /*定义变量*/
  char ch; /*定义暂存变量*/
  for(i=0;i<maxline;i++) /*逐行获取字符数据进行处理*/
  {
  str=strlen(xx[i]); /*求各行的长度*/
  index=str;
  for(j=0;j<str;j++)
  /*将一行中所有小写字母o右边的字符依次向左移一位,并删除字母o*/
  if(xx[i][j]=='o')
  {
  for(k=j;k<str-1;k++) /*o右边的字符串左移一位*/
  xx[i][k]=xx[i][k+1];
  xx[i][str-1]=' ';
  index=j; /*记录下最后一个o所在的位置*/
  }
  for(j=str-1;j>=index;j--) /*最后一个o右侧的所有字符都移到已处理字符串的左边*/
  {
  ch=xx[i][str-1];
  for(k=str-1;k>0;k--) 
  xx[i][k]=xx[i][k-1];
  xx[i][0]=ch;
  }
  }
  }
  【解析】在本题中,以行作为字符串处理的基本单位。首先,确定该行字符串的长度。然后使用循环结构依次对字符进行处理。先找到字符o,将o右侧的字符依次向左移,这个操作同时能够删除字符o。记录下最后一个o所在的位置,在这个o右侧的所有字符都要移到已处理字符串的左边,这个过程也是使用循环来完成的。最后,对文章中的每一行都进行这一操作即可。
首页 1 2 尾页

相关文章