有一题c++ 题目.说要编程确定一个任意位数是否为回文数.例如12321,11111,54654等都是回文数.请教一下?

来源:百度知道 编辑:UC知道 时间:2024/05/13 10:36:59

两种方法,这是求10000以内的回文数

c++的:
#include "sstream"
#include "algorithm"
#include "iostream"
#include "string"
using namespace std;
main()
{
string A,B;
ostringstream O;
for(int i=1;i<10001;i++)
{O<<i;A=B=O.str();
reverse(A.begin(),A.end());
if(!A.compare(B))cout <<i<<endl;
O.str("");}
}

c的:
#include "stdio.h"
#include "string.h"
main()
{
char A[6];int i,j;
for(i=1;i<10001;i++)
{sprintf(A,"%d",i);
for(j=0;j<strlen(A)/2;j++)
if(A[j]!=A[strlen(A)-j-1])break;
if(j==strlen(A)/2)
printf("%d\n",i);}
}

知道里关于这个问题的帖子估计不下100个。

把数字变为字符串形式,再进行判断