21xrx.com
2024-12-22 21:26:51 Sunday
登录
文章检索 我的文章 写文章
C++实现回文判断代码
2023-07-13 11:44:34 深夜i     --     --
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++中实现回文判断的代码,希望对大家有所帮助。

  
  

评论区

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