#include "iostream"
using namespace std;
//将整数翻转,之后比较,若跟原来的数相等,就是回文数字
//若1234321,倒转之后数字为1234321,相等,就是回文数字
void isHuiWen(int num)
{
int n=0,temp=num;
while (temp!=0)
{
n=n*10+temp%10;
temp/=10;
}
if (num==n)
{
cout<<"yes\n";
}
else
{
cout<<"no\n";
}
}
//将数字转化为字符串,判断字符串是否左右对称相等,若相等则是回文数字,否则不是
//如 234567,转化为字符串后为765432,左右判断不等,不是回文数字
void isHuiWenfun(int num)
{
char a[20];
int i=0;
while (num!=0)
{
a[i++]='0'+num%10;
num/=10;
}
a[i]='\0';
int k1=0,k2=strlen(a)-1,falg=0;
while (k1<k2)
{
if (a[k1]==a[k2])
{
k1++;
k2--;
}
else
{
falg=1;
break;
}
}
if (falg==1)
{
cout<<"no\n";
}
else
{
cout<<"yes\n";
}
}
int main()
{
int num=0;
while (1)
{
cin>>num;
isHuiWenfun(num);
}
return 0;
}
判断回文数的两种方法(代码解析)
最新推荐文章于 2024-07-03 15:40:56 发布