给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false C++代码
时间: 2024-12-16 10:25:58 浏览: 7
Palindrome-of-numbers:整数回文
在C++中,判断一个整数是否为回文可以采用双指针法,从两端向中间遍历并比较对应的数字。以下是简单的C++代码实现:
```cpp
#include <iostream>
using namespace std;
bool isPalindrome(int x) {
// 如果输入小于0或包含非数字字符,直接返回false
if (x < 0 || (x != 0 && (x % 10 == 0))) {
return false;
}
int start = 0;
int end = abs(x) - 1; // 对于负数取绝对值后减一,因为末尾需要指向第一个非零位
while (start < end) {
// 比较对应位置的数字,若不相等则不是回文
if (x / pow(10, start) % 10 != x / pow(10, end) % 10) {
return false;
}
start++;
end--;
}
return true;
}
int main() {
int num;
cout << "请输入一个整数: ";
cin >> num;
if (isPalindrome(num)) {
cout << num << " 是回文数" << endl;
} else {
cout << num << " 不是回文数" << endl;
}
return 0;
}
```
阅读全文