在这里,我们将讨论一个 C++ 程序,用于检查给定数字是否为回文数。
当一个数字的数字反转后仍然保持不变时,该数字称为回文数。
例如,11、151、45254 都是回文数。

获取要检查的数字,并将原始副本保存到变量“original”中,以便在原始数字被反转后进行比较。然后,我们分离数字的最后一位,并在循环中将其添加到另一个变量“reverse”中。现在我们检查原始数字和反转数字是否相同,如果两者相同,则打印“回文数”,否则打印“不是回文数”。
要求用户输入一个正数并将其保存到另一个变量“n”中,以便在原始数字被反转后进行比较。通过使用模运算符,我们分离数字的最后一位并将其保存在一个变量中。然后使用公式 reverse = ( reverse * 10 ) + digit; 将该数字添加到 reverse 变量中。然后我们将数字除以 10 以移除最后一位,并继续循环,直到原始数字为零。
最后,在循环之后,反转的数字将存储在变量 reverse 中。现在我们必须比较原始数字和反转数字。
步骤 1: 调用头文件 iostream。
第 2 步:使用 namespace std。
步骤 3: 打开整数类型的主函数; int main()。
步骤 4: 声明整数类型变量; n、original、digit、reverse。
步骤 5: 打印消息以输入正数。
步骤 6: 将数字读入变量 original。
步骤 7: 将原始数字存储到另一个变量 n 中。
步骤 8: 反转原始数字并将反转后的数字存储在变量 reverse 中。
步骤 9: 在屏幕上打印反转后的数字。
步骤 10: 比较原始数字和反转后的数字。
步骤 11: 如果 n = reverse,则打印“该数字是回文数”,否则打印“不是回文数”。
步骤 12: 退出。
#include <iostream>
using namespace std;
int main()
{
int n, original, digit, reverse = 0;
cout << "Enter a positive number: ";
cin >> original;
n = original;
do
{
digit = original % 10;
reverse = (reverse * 10) + digit;
original = original / 10;
} while (original != 0);
cout << " The reverse of the number is: " << reverse << endl;
if (n == reverse)
cout << " The number is a palindrome.";
else
cout << " The number is not a palindrome.";
return 0;
}
Run 1 -------- Enter a positive number: 12321 The reverse of the number is: 12321 The number is a palindrome. Run 2 ------- Enter a positive number: 1452416 The reverse of the number is: 6142541 The number is not a palindrome.