21xrx.com
2025-04-03 21:15:53 Thursday
文章检索 我的文章 写文章
C++实现回文判断代码
2023-07-13 11:44:34 深夜i     13     0
C++ 回文 判断 代码

回文是指正向和反向读取都相同的词语、数字或一组字符。在计算机编程中,我们经常需要判断一个字符串或数字是否是回文。在C++中,实现回文判断非常简单,下面我们就来详细介绍一下。

当我们需要判断一个字符串是否是回文时,我们可以使用C++中的字符串类型string来存储,具体代码如下:

c++
#include<iostream>
#include<string>
using namespace std;
int main()
{
  string str;
  cin >> str;
  int len = str.length(); // 获取字符串长度
  bool flag = true;
  for (int i = 0; i < len / 2; i++) {
    if (str[i] != str[len - i - 1])
      flag = false;
      break;
    
  }
  if (flag)
    cout << "是回文" << endl;
  
  else
    cout << "不是回文" << endl;
  
  return 0;
}

上述代码中,我们首先定义了一个字符串类型的变量str,并通过cin语句从标准输入流中读取字符串。然后我们通过调用length函数获取了字符串的长度,并定义了一个bool类型的变量flag,用来表示字符串是否为回文。

接下来,我们使用for循环对字符串进行遍历。由于回文的特性是正向和反向读取都相同,因此我们只需要遍历字符串的前半部分,判断每个字符是否和其对应的后半部分相同即可。如果有不相同的字符,我们即可将flag置为false,并跳出循环。最后我们根据flag的值输出判断结果。

当然,我们也可以用类似的方法对数字进行回文判断。下面是具体代码实现:

c++
#include<iostream>
#include<string>
using namespace std;
int main()
{
  int num;
  cin >> num;
  int copy = num, reversed = 0;
  while (copy > 0) {
    reversed = reversed * 10 + copy % 10;
    copy /= 10;
  }
  if (num == reversed)
    cout << "是回文" << endl;
  
  else
    cout << "不是回文" << endl;
  
  return 0;
}

上述代码中,我们首先读入一个整数,然后将该整数的每一位逆序存储到另一个变量reversed中。最后判断原始整数和逆序后的整数是否相等,即可得到判断结果。

以上就是C++中实现回文判断的代码,希望对大家有所帮助。

  
  

评论区