判断一个数是否为回文的 C++程序

该程序使用 while 循环反转由用户输入的整数。然后用 if 语句检查反转后的数是否等于原数。

要理解此示例,您应该具备以下 C++ 编程 主题的知识:

该程序从用户处获取一个整数,然后将该整数取反。

如果反转的整数等于用户输入的整数,则该数字是回文,否则该数字不是回文。

示例:检查回文数

#include <iostream>
using namespace std;

int main()
{
     int n, num, digit, rev = 0;

     cout << "Enter a positive number: ";
     cin >> num;

     n = num;

     do
     {
         digit = num % 10;
         rev = (rev * 10) + digit;
         num = num / 10;
     } while (num != 0);

     cout << " The reverse of the number is: " << rev << endl;

     if (n == rev)
         cout << " The number is a palindrome.";
     else
         cout << " The number is not a palindrome.";

    return 0;
}

输出 1

Enter a positive number: 12321
The reverse of the number is: 12321
The number is a palindrome.

输出 2

Enter a positive number: 12331
The reverse of the number is: 13321
The number is not a palindrome.

在上面的程序中,要求用户输入一个存储在变量 num 中的正数.

然后将数字保存到另一个变量 n 中, 当原始号码被反转时检查它。

do...while 循环中,数字的最后一位使用代码 digit = num % 10; 分隔。然后将此数字添加到变量 rev

请参使用 C++ 程序反转一个数字

例如:在数 123 中,3 是在个位, 2 是十位, 1 是百位。

因此,要将 4 添加到 123 之后,我们需要将当前的数字向左移位,所以现在 1 是在千位,2 在百位,3 在十位, 4 在个位。

这可以通过将 123 乘以 10 得到 1230 并加上数字 4 得到 1234 来轻松完成。在上面的代码中也是如此。

do while 循环最终结束时, rev 中保存了反转后的数字,然后将它与原始数字 n 进行比较.

如果数字相等,则原始数字是回文,否则不是。