21xrx.com
2024-11-22 06:27:22 Friday
登录
文章检索 我的文章 写文章
用C++编写判断字符串是否为回文的程序
2023-07-12 18:46:34 深夜i     --     --
C++ 判断 字符串 回文 程序

回文是指正序和倒序相同的字符序列,例如“level”、“racecar”等。判断一个字符串是否为回文是程序设计中常见的一个问题,本文将介绍用C++编写判断字符串是否为回文的程序。

首先,需要明确的是,判断一个字符串是否为回文,可以比较字符串的第一个字符和最后一个字符,第二个字符和倒数第二个字符,以此类推。如果所有的字符都相同,则认为字符串是回文的。另外,对于长度为奇数的字符串,中间的字符可以忽略。

根据上述思路,可以写出如下的C++程序实现:


#include <iostream>

using namespace std;

bool isPalindrome(string str){

  int len = str.length();

  for(int i=0; i<len/2; i++){

    if(str[i] != str[len-i-1])

      return false;

    

  }

  return true;

}

int main(){

  string str;

  cout << "请输入一个字符串:" << endl;

  cin >> str;

  if(isPalindrome(str))

    cout << "该字符串是回文!" << endl;

  

  else

    cout << "该字符串不是回文!" << endl;

  

  return 0;

}

以上程序中,isPalindrome函数接受一个字符串参数,通过for循环遍历字符串的前半部分字符,并和后半部分的字符比较是否相等,如果有不相等的字符,就返回false,否则返回true。主函数中,首先输入一个字符串,然后调用isPalindrome函数判断该字符串是否为回文,最后输出结果。

测试程序的运行结果如下:


请输入一个字符串:

racecar

该字符串是回文!


请输入一个字符串:

hello

该字符串不是回文!

通过上述程序,可以方便地判断一个字符串是否为回文。需要注意的是,在实际开发中,为了提高效率和减少空间占用,还可以使用双指针或递归等方法实现判断回文字符串的功能。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复