什么叫回文数?
回文数是指从左到右读和从右到左读都相同的数。换句话说,它是一个数字,无论从左到右还是从右到左读都保持一致。例如,121、12321和1221都是回文数,因为它们在正向和逆向读取时都保持相同的数字顺序。
当编写 C++ 代码来检查一个数是否是回文数时,可以将该数转换为字符串,然后比较正向和逆向的字符串是否相同。以下是一个示例程序:
#include <iostream> #include <string> bool isPalindrome(int num) { // 将数转换为字符串 std::string str = std::to_string(num); int left = 0; int right = str.length() - 1; // 逐个字符比较正向和逆向的字符是否相同 while (left < right) { if (str[left] != str[right]) { return false; } left++; right--; } return true; } int main() { int number; std::cout << "请输入一个整数: "; std::cin >> number; if (isPalindrome(number)) { std::cout << number << " 是回文数" << std::endl; } else { std::cout << number << " 不是回文数" << std::endl; } return 0; }
在上述代码中, 函数将整数转换为字符串,并使用两个指针从字符串的两端向中间进行比较,如果存在字符不相同,则返回 。否则,如果比较完所有字符后都没有发现不同的字符,则返回 。在 函数中,用户可以输入一个整数,程序将检查该整数是否是回文数并输出结果。
请注意,这只是一个简单的示例代码,它假定输入的是一个整数。对于更复杂的情况,例如负数或特殊字符的处理,可能需要进行额外的验证。
<< 上一篇
下一篇 >>