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


2023年1月17日, Learn eTutorial
1492

在这里,我们将讨论一个 C++ 程序,用于检查给定数字是否为回文数。

什么是回文数?

当一个数字的数字反转后仍然保持不变时,该数字称为回文数。

例如,11、151、45254 都是回文数。

check palindrome number

我们如何检查给定的数字是否为回文数?

获取要检查的数字,并将原始副本保存到变量“original”中,以便在原始数字被反转后进行比较。然后,我们分离数字的最后一位,并在循环中将其添加到另一个变量“reverse”中。现在我们检查原始数字和反转数字是否相同,如果两者相同,则打印“回文数”,否则打印“不是回文数”。

我们如何用 C++ 检查回文数?

要求用户输入一个正数并将其保存到另一个变量“n”中,以便在原始数字被反转后进行比较。通过使用模运算符,我们分离数字的最后一位并将其保存在一个变量中。然后使用公式 reverse = ( reverse * 10 ) + digit; 将该数字添加到 reverse 变量中。然后我们将数字除以 10 以移除最后一位,并继续循环,直到原始数字为零。


最后,在循环之后,反转的数字将存储在变量 reverse 中。现在我们必须比较原始数字和反转数字。

算法


步骤 1: 调用头文件 iostream。

第 2 步:使用 namespace std

步骤 3: 打开整数类型的主函数; int main()。

步骤 4: 声明整数类型变量; noriginaldigitreverse

步骤 5: 打印消息以输入正数。

步骤 6: 将数字读入变量 original。

步骤 7: 将原始数字存储到另一个变量 n 中。

步骤 8: 反转原始数字并将反转后的数字存储在变量 reverse 中。

步骤 9: 在屏幕上打印反转后的数字。

步骤 10: 比较原始数字和反转后的数字。

步骤 11: 如果 n = reverse,则打印“该数字是回文数”,否则打印“不是回文数”。

步骤 12: 退出。

C++ 源代码

                                          #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.