首页 > 安全资讯 >

2014年计算机二级C上机考试试题及答案8

14-03-25

简单应用题  使用VC++6.0打开考生文件夹下的源程序文件2.cpp。阅读下列函数说明和代码,补充空出的代码。函数IsPalindromes(char*string)实现的功能是判定给定的字符串是否构成回文字符串,如果是则

简单应用题 
  使用VC++6.0打开考生文件夹下的源程序文件2.cpp。阅读下列函数说明和代码,补充空出的代码。函数IsPalindromes(char*string)实现的功能是判定给定的字符串是否构成回文字符串,如果是则返回1,否则返回0。 
  例如:abcdcba或者l234321都认为是回文字符串。 
  如果串为空或一个字母时,均认为是回文字符串。 
  注意:不能修改程序的其他部分,只能补充IsPatin-dromes函数。 
  试题程序: 
  #include 
  #defineMAXLEN1024 
  boolIsPalindromes(char*string) 
  { 
  } 
  voidmain() 
  { 
  charstr[MAXLEN]; 
  cout<<"请输入一行文字"<  cin.getline(str,MAXLEN); 
  cout<  return; 
  } 
  intlen=0: 
  for(;string[len]!=NULL;len++)//获取字符串 
  的长度 
  ; 
  len--;//下标从0开始到1en-1 
  for(inti=0;i  if(string[i]!=string[1en])//不等说明不同,返 
    
  回0 
  return0; 
  } 
  return1; 
  【解析】本题由于字符串的长度是未知的,先利用循环求出字符串的长度,循环变量从0开始,直到数组的末尾,string[len]==NULL为循环结束条件,如此便得到了数组的长度len。知道长度后就可以判断对称位置的元素是否相同,比如第一个元素和最后一个元素,第二个元素和倒数第二个元素,如此比较下去直到到了最中间的元素为止。可以利用循环来比较是否对称,设置另一个循环变量i,i从0开始表示从数组的头部开始读数,len从数组的尾部开始读数,如果string[i]!=slring[len],则跳出循环返回0,如果循环结束还没发现不同,则返回1。 
相关文章
最新文章
热点推荐