C++程序检查数字是否为回文数
回文数是指如果其数字反转后仍然保持不变的数字,即其值不发生变化。回文数也可以称为对称数。例如:数字12321、1551、11等是回文数,因为即使它们的数字反转,它们也不会改变。
检查数字是否为回文数的程序如下所示。
示例
#include<iostream>
using namespace std;
void palindrome(int num) {
int rev=0,val;
val = num;
while(num > 0) {
rev = rev * 10 + num % 10;
num = num / 10;
}
if(val==rev)
cout<<val<<" is a palindrome"<<endl;
else
cout<<val<<" is not a palindrome"<<endl;
}
int main() {
palindrome(12321);
palindrome(1234);
return 0;
}输出
12321 is a palindrome 1234 is not a palindrome
在上述程序中,函数palindrome查找数字是否为回文数。该函数接受一个参数,即num。在任何处理发生之前,都会创建num的副本,即val。num的值被反转并存储在rev中。
这由以下代码片段所示:
int rev=0,val;
val = num;
while(num > 0) {
rev = rev * 10 + num % 10;
num = num / 10;
}在此之后,rev的值与val而不是num进行比较。这是因为num的值现在为0。如果rev等于val,则该数字是回文数,并打印出来,否则该数字不是回文数。
这可以在以下代码片段中看到。
if(val==rev) cout<<val<<" is a palindrome"<<endl; else cout<<val<<" is not a palindrome"<<endl;
广告
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C编程
C++
C#
MongoDB
MySQL
Javascript
PHP