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函数将数字转换为字符串,然后逐一比较字符是否相等。这是一个比较简单的方法,也是日常开发中比较实用的一个技巧。
完整代码如下: