用C++语言写出判断是不是回文数,反转数与原数一样
时间: 2024-09-20 20:08:51 浏览: 40
在C++中,判断一个整数是否是回文数可以采用比较数字前半部分和后半部分(忽略首位和末位)的方式来实现。如果两者相等,则该数是回文数。这里是一个简单的函数示例:
```cpp
#include <iostream>
bool isPalindrome(int num) {
if (num <= 0)
return false; // 非正数不是回文
int reversed = 0;
int originalNum = num;
while (num != 0) {
int remainder = num % 10; // 取除十位后的余数
reversed = reversed * 10 + remainder; // 将余数加到反转数上
num /= 10; // 清除最低位
}
return originalNum == reversed; // 比较原始数和反转数是否相等
}
int main() {
int input;
std::cout << "请输入一个整数:";
std::cin >> input;
if (isPalindrome(input)) {
std::cout << input << " 是回文数,反转后仍为 " << input << std::endl;
} else {
std::cout << input << " 不是回文数" << std::endl;
}
return 0;
}
```
在这个代码中,`isPalindrome` 函数首先检查输入是否是非正数,然后通过循环将输入的数反转,最后比较原数和反转后的数是否相等。
阅读全文