📅  最后修改于: 2020-09-25 06:23:26             🧑  作者: Mango
该程序从用户那里获取一个整数,并且该整数被取反。
如果反向整数等于用户输入的整数,则该数字为回文数,如果不是,则该数字不是回文数。
#include
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;
}
输出
Enter a positive number: 12321
The reverse of the number is: 12321
The number is a palindrome.
Enter a positive number: 12331
The reverse of the number is: 13321
The number is not a palindrome.
在上述程序中,要求use输入一个正数,该正数存储在变量num
。
然后将数字保存到另一个变量n
以便在原始数字反转后对其进行检查。
在do ... while循环中,使用代码digit = num % 10;
分隔数字的最后一位digit = num % 10;
。然后将此数字添加到rev
变量。
在将digit
添加到rev
之前,我们首先需要将rev
变量中的当前数据乘以10,以便将数字添加到数字的第n 位 。
例如:在数123中,图3是在第零位,2在百元日举行的第一个地方和1。
因此,要添加另一个号码4 123之后,我们需要将当前的数字向左移位,所以现在1是千日举行,2中的一个个地方,3是一个在零日举行和4 的地方。
通过将123乘以10(得出1230)并加上数字4(得出1234),可以很容易地做到这一点。在上面的代码中也是如此。
当do while循环最终结束时,我们在rev
有一个相反的数字。然后将此数字与原始数字n
。
如果数字相等,则原始数字为回文,否则为非。