编写一个 C++ 程序来检查数字是否为回文数,并附带示例。任何数字都可以是回文数,如果它的反转等于原始数字。例如,121,因为反转后得到相同的数字。
使用 While 循环的回文数
在此示例中,我们将实际值赋给了 temp。接下来,我们反转了 temp 值。最后,我们使用 If 条件来检查给定值是否等于反转值并打印回文数。
#include<iostream>
using namespace std;
int main()
{
int number, temp, reminder, reverse = 0;
cout << "Please Enter the Number to Check Palindrome or Not = ";
cin >> number;
temp = number;
while (temp > 0)
{
reminder = temp % 10;
reverse = reverse * 10 + reminder;
temp = temp / 10;
}
cout << "\nReverse of given Number = " << reverse << "\n\n";
if(number == reverse) {
cout << number << " is a Palindrome Number";
}
else {
cout << number << " is Not a Palindrome Number";
}
return 0;
}

让我用其他值来检查。我建议您参考 反转数字 文章。
Please Enter the Number to Check Palindrome or Not = 191
Reverse of given Number = 191
191 is a Palindrome Number
C++ 程序使用 For 循环检查数字是否为回文数
#include<iostream>
using namespace std;
int main()
{
int number, temp, reminder, reverse = 0;
cout << "Please Enter the Number = ";
cin >> number;
for(temp = number; temp > 0; temp = temp / 10)
{
reminder = temp % 10;
reverse = reverse * 10 + reminder;
}
cout << "\nReverse of given Number = " << reverse << "\n\n";
if(number == reverse) {
cout << number << " is a Palindrome Number";
}
else {
cout << number << " is Not";
}
return 0;
}
Please Enter the Numbert= 1331
Reverse of given Number = 1331
1331 is a Palindrome Number
此程序有助于使用函数查找回文数。
#include<iostream>
using namespace std;
int reverseNumbers(int number)
{
int reminder, reverse = 0;
for(; number > 0; number = number / 10)
{
reminder = number % 10;
reverse = reverse * 10 + reminder;
}
return reverse;
}
int main()
{
int number, reverse = 0;
cout << "Please Enter the Number = ";
cin >> number;
reverse = reverseNumbers(number);
cout << "\nReverse of given Number = " << reverse << "\n\n";
if(number == reverse) {
cout << number << " is a Palindrome Number";
}
else {
cout << number << " is Not";
}
return 0;
}
Please Enter the Number = 191
Reverse of given Number = 191
191 is a Palindrome Number
使用递归查找数字是否为回文数的程序
在此 代码 中,int reverseNumbers 方法反转给定的数字。在这里,reverseNumbers(number/10) 行使用更新的值递归调用 int reverseNumbers 方法。
#include<iostream>
using namespace std;
int reverseNumbers(int number)
{
static int reminder, reverse = 0;
if(number > 0)
{
reminder = number % 10;
reverse = reverse * 10 + reminder;
reverseNumbers(number / 10);
return reverse;
}
else
return 0;
}
int main()
{
int number, reverse = 0;
cout << "Please Enter the Number = ";
cin >> number;
reverse = reverseNumbers(number);
cout << "\nReverse of given = " << reverse << "\n\n";
if(number == reverse) {
cout << number << " is a Palindrome";
}
else {
cout << number << " is Not";
}
return 0;
}
Please Enter the Number = 4554
Reverse of given = 4554
4554 is a Palindrome
打印 1 到 100 之间的回文数的程序
此示例允许用户输入最小值和最大值。接下来,它将在 min 和 max 值之间打印回文数。
#include<iostream>
using namespace std;
int main()
{
int minimum, maximum, number, temp, reminder, reverse;
cout << "\nPlease Enter the Minimum Value = ";
cin >> minimum;
cout << "\nPlease Enter the Maximum Value = ";
cin >> maximum;
cout << "\nBetween " << minimum << " and " << maximum << " = ";
for(number = minimum; number <= maximum; number++ )
{
temp = number;
reverse = 0;
while (temp > 0)
{
reminder = temp % 10;
reverse = reverse * 10 + reminder;
temp = temp / 10;
}
if(number == reverse) {
cout << number << " ";
}
}
return 0;
}
Please Enter the Minimum Value = 100
Please Enter the Maximum Value = 1000
Between 100 and 1000 = 101 111 121 131 141 151 161 171 181 191 202 212 222 232 242 252 262 272 282 292 303 313 323 333 343 353 363 373 383 393 404 414 424 434 444 454 464 474 484 494 505 515 525 535 545 555 565 575 585 595 606 616 626 636 646 656 666 676 686 696 707 717 727 737 747 757 767 777 787 797 808 818 828 838 848 858 868 878 888 898 909 919 929 939 949 959 969 979 989 999