用c++判断一个数是否为回文数。
时间: 2024-12-10 07:38:26 浏览: 33
在C++中,判断一个整数是否为回文数通常涉及到将数字反转并与原数进行比较。这里有一个简单的算法:
```cpp
#include <iostream>
#include <string>
bool isPalindrome(int num) {
// 使用字符串转换处理负数和非整数的情况
std::string str_num = std::to_string(num);
// 如果字符串长度小于2,那么它是回文的,因为只有一个元素或空串
if (str_num.length() <= 1)
return true;
// 双指针法,从两端向中间遍历,若相等则继续,不等则返回false
int start = 0;
int end = str_num.length() - 1;
while (start < end) {
if (str_num[start] != str_num[end])
return false;
start++;
end--;
}
return true;
}
int main() {
int number;
std::cout << "请输入一个整数:";
std::cin >> number;
if (isPalindrome(number))
std::cout << number << " 是回文数。\n";
else
std::cout << number << " 不是回文数。\n";
return 0;
}
```
阅读全文