21xrx.com
2025-03-23 14:00:37 Sunday
文章检索 我的文章 写文章
如何在C++中判断一个数是否为回文数
2023-06-24 04:51:41 深夜i     --     --
C++ 回文数 判断

在C++中,判断一个数是否为回文数,即从左到右和从右到左读数完全相同的数,可以采用以下方法。

首先需要将该数转换成字符串形式,可以使用`to_string`函数将整数转换为字符串。然后通过计算字符串的长度,可以确定循环的次数,从而进行比较判断。

具体步骤如下:

1. 将需要判断的数转换为字符串形式,例如:

int num = 12321;
string strNum = to_string(num);

2. 确定循环的次数,一般为字符串长度的一半:

int len = strNum.length();
for(int i = 0; i < len / 2; i++)
  // 比较第i个字符和第len-i-1个字符

3. 从左到右和从右到左分别比较每一个字符,若存在不同的字符则不是回文数,可以使用`break`跳出循环,例如:

for(int i = 0; i < len / 2; i++) {
  if(strNum[i] != strNum[len - i - 1])
    cout << "不是回文数" << endl;
    break;
  
}

4. 如果循环全部结束都没有跳出,则说明该数是回文数,例如:

cout << "是回文数" << endl;

完整的代码如下:

#include <iostream>
#include <string>
using namespace std;
int main() {
  int num = 12321;
  string strNum = to_string(num);
  int len = strNum.length();
  for(int i = 0; i < len / 2; i++) {
    if(strNum[i] != strNum[len - i - 1])
      cout << "不是回文数" << endl;
      break;
    
  }
  if(len / 2 == 0 || strNum[0] == strNum[len - 1])
    cout << "是回文数" << endl;
  
  return 0;
}

  
  

评论区