导航:首页 - 2008年11月程序员笔试考前练习(10)

2008年11月程序员笔试考前练习(10)
作者:深圳教育在线 来源:szedu.net 更新日期:2008-10-11
  阅读下列函数说明和C函数,将应填入__(n)__处的字句写在答题纸的对应栏内。
  [函数1.1说明]
  函数palindrome(chars[])的功能是:判断字符串s是否为回文字符串,若是,则返回0,否则返回-1。若一个字符串顺读和倒读都一样时,称该字符串是回文字符串,例如:“LEVEL”是回文字符串,而“LEVAL”不是。
  [函数1.1]
  int palindrome(char S[])
  { char *pi,*pj;
  pi=S;pj=s+strlen(S)-1:
  while ( pi<pj && __(1)__){
  pi++; pj--;
  }
  if(__ (2)__)return-1;
  else return 0;
  }
  [函数1.2说明]
  函数f(char *str,char del)的功能是;将非空字符串str分割成若干个子字符串并输出,del表示分割时的标志字符。
  例如若str的值为“33123333435”,del的值为‘3’,调用此函数后,将输出三个子字符串,分别为“12”、“4”和“5”。
  [函数1.2]
  void f(char*str,char del)
  { int i,j,len;
  len = strlen(str);
  i = 0;
  while (i<len){
  while (__(3)__) i++;    /*忽略连续的标志字符*/
  /*寻找从str开始直到标志字符出现的一个子字符串*/
  j = i + 1;
  while (str[j] !=del && str[j] !=’\0’) j++;
  __ (4)__="\0";         /*给找到的字符序列置字符串结束标志*/
  printf(" %s\t",&str): ’
  __ (5)__;
  }
  }
  答案:
  (1)*pi == *pj
  (2)pi<pj 或 *pi != *pj
  (3)str== del
  (4)str[j]
  (5) i = j+1
  examda提示: 首先看第一题 条件:pi=S;pj=s+strlen(S)-1:pi就是首地址啦,pj就是末地址啦,我们需要把第一个和最后一个比较,第二和倒二比···....OK,那while ( pi<pj && __(1)__)很明显,pi要小于pj不然你咋比较?别问偶等怎么不比哦,偶K你!然后呢?看看如果条件成立会执行啥?pi++; pj--;哦,一目了然,分别往前往后移动,所以这里填写*pj==*pi,只有等才继续比、继续移动指针,不等肯定就不用比较啦!后面那个问,*pi != *pj,题目说了,不是就返回-1!
  第二题,有注释哦·不懂就提出来·不过偶想大家都会滴·

报 名 此 课 程 / 咨 询 相 关 信 息
【预约登门】 【网上咨询】 【订座试听】 【现在报名】
课程名称
2008年11月程序员笔试考前练习(10)
真实姓名
* 性 别
联系电话
* E-mail:
所在地区
咨询内容

      

相关文章:

Copyright© 2004-2010 www.szedu.net 深圳教育在线 版权所有
中国·深圳
粤ICP备06023013号