21xrx.com
2024-12-22 17:29:38 Sunday
登录
文章检索 我的文章 写文章
C++编写的回文判断程序
2023-07-14 19:43:55 深夜i     --     --
C++ 回文 编写 程序 判断

回文指的是一个字符串前后对称,如"level"或"deified"。在编程中,判断一个字符串是否回文是一项基础的任务。本文将介绍使用C++编写的回文判断程序。

首先,我们需要了解C++中字符串的概念和基本用法。在C++中,字符串是由字符组成的数组,在结束位置要多加一个'\0'(表示字符串结束符)。我们可以使用char类型的数组来存储字符串。以下是一个示例:

char str[] = {'h', 'e', 'l', 'l', 'o', '\0'};

这个数组中存储了字符串"hello"。

那么如何判断一个字符串是否回文呢?我们可以从字符串的两端开始比较每个字符,如果相同,则继续比较下一个字符,直到这两个指针相遇为止。如果每个字符都相同,那么这个字符串就是回文。以下是回文判断的C++代码:

#include

#include

using namespace std;

bool isPalindrome(char str[]) {

  int len = strlen(str); // 获取字符串长度

  for (int i = 0; i < len / 2; i++) { // 只需要比较一半字符

    if (str[i] != str[len - i - 1]) { // 如果前后两个字符不同,说明不是回文

      return false;

    }

  }

  return true; // 如果都相同,说明是回文

}

int main() {

  char str[] = "level";

  if (isPalindrome(str)) {

    cout << "This is a palindrome." << endl;

  } else {

    cout << "This is not a palindrome." << endl;

  }

  return 0;

}

在上面的代码中,我们定义了一个名为isPalindrome的函数来判断字符串是否回文。该函数接受一个char类型的数组参数,并返回一个bool类型的值,表示该字符串是否回文。函数中使用了strlen函数来获取字符串的长度。for循环只需要比较字符串的前半部分和后半部分是否相同,如果不相同则直接返回false。如果比较完毕都相同,则返回true。

在主函数中,我们定义了一个包含字符串"level"的char类型数组,并调用isPalindrome函数来判断该字符串是否回文。根据函数返回值输出相应的结果。

总之,回文判断是编程中的一个基础任务。通过上述C++代码,我们可以轻松实现一个回文判断程序。

  
  

评论区

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