21xrx.com
2024-12-26 15:52:29 Thursday
登录
文章检索 我的文章 写文章
C++代码判断回文数
2023-07-04 09:45:59 深夜i     --     --
C++ 回文数 代码 判断

回文数是指一个数字从左往右和从右往左读都是一样的数,比如121。判断一个数是否为回文数是算法题中比较常见的问题。在C++中,可以使用代码来实现回文数的判断。

下面是一段C++代码,用来判断一个数是否为回文数。


#include <iostream>

using namespace std;

bool isPalindrome(int x) {

  if (x < 0)

    return false;

  

  int div = 1;

  while (x / div >= 10) {

    div *= 10;

  }

  while (x > 0) {

    int left = x / div;

    int right = x % 10;

    if (left != right)

      return false;

    

    x = (x % div) / 10;

    div /= 100;

  }

  return true;

}

int main() {

  int x;

  cout << "请输入一个数字:" << endl;

  cin >> x;

  if (isPalindrome(x))

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

   else

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

  

  return 0;

}

上述代码中,首先定义了一个函数isPalindrome,用来判断是否为回文数。该函数的参数x是一个整数。在函数中,首先判断x是否小于0,如果小于0,则直接返回false,因为负数不可能是回文数。

接着,定义了一个变量div,用来计算x的位数。通过循环计算,div的值最终为x的最高位数。

之后,通过除以div和取模来得到x的最高位和最低位。如果两者不相等,则直接返回false,因为该数不是回文数。如果相等,需要把x的最高位和最低位去掉;同时,div也需要除以100,因为x的位数变少了2位。

最后,如果函数能够返回,则说明该数是回文数。

在main函数中,通过cin输入一个数字,然后调用isPalindrome函数进行判断。如果是回文数,则输出结果为“x是回文数”;如果不是回文数,则输出结果为“x不是回文数”。

这段代码可以帮助我们了解C++中的循环、条件语句、函数等语法,并且可以用来进行回文数的判断。

  
  

评论区

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