该程序从用户处获取一个整数,然后将该整数取反。
如果反转的整数等于用户输入的整数,则该数字是回文,否则该数字不是回文。
示例: 检查回文数
#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; }
输出
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.
在上面的程序中,使用被要求输入一个存储在变量
num中的正数。
然后将数字保存到另一个变量
n 中,以便在原始数字反转后进行检查。
在 do...while 循环中,数字的最后一位使用代码
digit = num % 10;
分隔。然后将此数字添加到
rev 变量中。
在将
digit 添加到
rev 之前,我们首先需要将
rev 变量中的当前数据乘以 10,以便添加数字到数字中的第 n
th 位。
例如: 在数字123中,3在第零位
,2在第一个
位,1在百位
sup>地方。
因此,要在 123 之后添加另一个数字 4,我们需要将当前数字向左移动,因此现在 1 在第
th 位,2 在第
th 位置,3 在第
th 位置,4 在第
th 位置。
通过将 123 乘以 10 得到 1230 并加上数字 4 得到 1234,这很容易完成。在上面的代码中也是如此。
当 do while 循环最终结束时,我们在
rev 中有一个相反的数字。然后将该数字与原始数字
n 进行比较。
如果数相等,则原数是回文,否则不是。