C++程序 检查数字是否为回文数

C++程序 检查数字是否为回文数

回文数是指一个数字从左往右和从右往左读取时都是一样的,比如121、12321等。现在我们将使用C++编写一个程序来检查一个数字是否为回文数。

程序思路

我们将输入一个数字,然后将这个数字转换为字符串。接着,我们从第一位和最后一位开始,逐一比较这两个字符是否相等,如果都相等,则继续比较下一对字符,否则就不是回文数。处理完所有字符后,如果都相等,则这个数字就是回文数。

代码实现

以下是完整的C++代码:

#include <iostream>
#include <string>

using namespace std;

bool isPalindrome(int num) {
    string str = to_string(num);
    int len = str.size();
    for (int i = 0; i < len / 2; i++) {
        if (str[i] != str[len - i - 1]) {
            return false;
        }
    }
    return true;
}

int main() {
    int num;
    cout << "请输入一个数字:" << endl;
    cin >> num;
    if (isPalindrome(num)) {
        cout << num << "是回文数" << endl;
    } else {
        cout << num << "不是回文数" << endl;
    }
    return 0;
}

这个程序定义了一个名为isPalindrome的函数,它接收一个整数参数,将其转换为字符串并判断是否为回文数。然后在main函数中,我们首先提示用户输入一个数字,然后调用isPalindrome函数进行判断,最后输出结果。

这里,借助了C++中的to_string函数将整数数字转换为字符串(这里涉及到C++11标准,需要环境支持)。

测试案例

我们来测试一下这个程序。下面是几个测试案例:

请输入一个数字:
121
121是回文数

请输入一个数字:
12321
12321是回文数

请输入一个数字:
123456
123456不是回文数

结论

本文介绍了如何使用C++编写一个程序来判断一个数字是否为回文数。我们使用to_string函数将数字转换为字符串,然后逐一比较字符是否相等。这是一个比较简单的方法,也是日常开发中比较实用的一个技巧。

完整代码如下:

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程

C++ 示例