21xrx.com
2024-11-22 12:44:44 Friday
登录
文章检索 我的文章 写文章
如何在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;

}

  
  

评论区

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