什么叫回文数?

回文数是指从左到右读和从右到左读都相同的数。换句话说,它是一个数字,无论从左到右还是从右到左读都保持一致。例如,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;
}

在上述代码中, 函数将整数转换为字符串,并使用两个指针从字符串的两端向中间进行比较,如果存在字符不相同,则返回 。否则,如果比较完所有字符后都没有发现不同的字符,则返回 。在 函数中,用户可以输入一个整数,程序将检查该整数是否是回文数并输出结果。

请注意,这只是一个简单的示例代码,它假定输入的是一个整数。对于更复杂的情况,例如负数或特殊字符的处理,可能需要进行额外的验证。