求判断回文数的c++函数

来源:百度知道 编辑:UC知道 时间:2024/05/11 04:54:33
不用数组。

所谓回文数,就是反转之后其值不变的数.如12321.
算法很简单,把数逆转后和原来的值比较就可以了,程序仅需20行:

#include <iostream>
using namespace std;
bool check(long a)
{
long b=0,temp=a;//用b保存逆转后的数,temp保存输入的值,最后用来和b比较
while(a>0)
{//把a的值自右向左逐位取出,自左至右地加到b上
b*=10;
b+=a%10;
a/=10;
}
return b==temp;//若相等则返回true.
}
void main()//测试
{
if(check(2034302))
cout<<"Y\n";
else
cout<<"N\n";
}

#i nclude<iostream.h>
#i nclude"astack.h"

void dblank(char *,char *);
void main(){
const int TRUE=1,FALSE=0;
Stack S;
char palstring[80],dblankstring[80],ch;
int i=0;
int ispalindrome=TRUE;
for(int i=0;(j<80)&&((ch=getchar())!EOF)&&(ch!='\n');j++)
palstring[j]=(char)ch;
paltring[j]='\n';
//input a string,and with '0