21xrx.com
2024-11-05 16:31:48 Tuesday
登录
文章检索 我的文章 写文章
C++实现:判断一个整数是否为回文数
2023-07-08 16:32:14 深夜i     --     --
C++ 整数 回文数 判断

回文数指的是从左到右读和从右到左读都是同一个数的数字。比如121、2112、1221都是回文数。那么如何用C++语言来判断一个整数是否为回文数呢?下面让我们来一步一步探讨。

首先,我们要对该整数进行倒序,然后将其与原数进行比较。如果相同则是回文数。

那么如何进行整数的倒序呢?这里介绍一种简单的方法:将整数表达为字符串,然后对字符串进行倒序,最后再将其转换成整数。代码如下:


bool isPalindrome(int x) {

  if(x < 0) return false;

  string s = to_string(x);  //将整数转换成字符串

  string s_reverse = s;   //定义一个空字符串作为倒序结果

  reverse(s_reverse.begin(), s_reverse.end());  //倒序

  return s == s_reverse;   //比较

}

上面的代码中,to_string()函数可以把整数转换成字符串。reverse()函数可以对字符串进行倒序操作。最后,通过比较原字符串和倒序字符串是否相同,来判断该整数是否为回文数。

需要注意的是,在进行字符串的倒序操作时,我们需要使用algorithm头文件中的reverse()函数。如果不获取algorithm头文件,将无法使用该函数,会出现编译错误。

另外一个需要注意的地方是,当输入的整数为负数时,我们也应该返回false。因为在负数情况下,所有数位都是不相同的,因此即使进行倒序也不可能得到原数。

综上所述,我们可以通过上述代码实现对一个整数是否为回文数的判断。如果是回文数,则函数返回true;否则,返回false。

  
  

评论区

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