用c++写一个程序判断一个数是不是回文数

 我来答
guanjie20
推荐于2016-07-03 · 超过16用户采纳过TA的回答
知道答主
回答量:51
采纳率:0%
帮助的人:27.8万
展开全部
#include<stdio.h>
int x,y;
judge(int * data,int len)
{
int i,j,f=0;
for(i=0,j=len-1; i<=j; i++,j--)
{
if(*(data+i)!=*(data+j))
{
f=1; printf("%d 不是回文!!!\n",x); break;
}
}
if(f==0)
printf("%d 是回文 !\n",x);
}
separate(int *data,int n)
{
int j,k,t;
y=0;
while(n!=0)
{
*(data+y)=n%10; n=n/10; y++;
}
*(data+y)='\0';
for(j=0,k=y-1; j<=k; j++,k--)
{
t=*(data+j); *(data+j)=*(data+k); *(data+k)=t;
}
}
void main()
{
int a[99];
printf("请输入一个正整数:");
scanf("%d",&x);
separate(a,x);
judge(a,y);
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
漫锦韦侬
2019-12-08 · TA获得超过3970个赞
知道大有可为答主
回答量:3139
采纳率:33%
帮助的人:227万
展开全部
#include<iostream>
using
namespace
std;
bool
hui(char
c[])
{
int
len,i,j;
len=strlen(c);
for(i=0,j=len-1;i<=j;i++,j--)

if(c[i]!=c[j])
return
false;
if(i>j)
return
true;
}
int
main()
{
char
c[2000];cin>>c;
if(hui(c))
cout<<c<<"
是回文"<<endl;
else
cout<<c<<"
不是回文"<<endl;
return
0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
永飙闽子楠
2019-08-21 · TA获得超过4038个赞
知道大有可为答主
回答量:3129
采纳率:24%
帮助的人:494万
展开全部
#include<iostream>
using
namespace
std;
bool
f(int
n)
{
int
a[100],count=0,n0=n,count1=0;
while(n>0)
{
n
/=10;
count++;
}
while(n0>0)
{
for(int
i=0;i<count;i++)
{
a[i]=n0%10;
n0
/=10;
}
for(i
=
0;
i
<=
count/2;
i++)
if(a[i]
!=
a[count
-
i
-
1])
return
false;
return
true;
}
}
void
main()
{
int
x;
cin>>x;
if(f(x))
cout<<"yes!!!"<<endl;
else
cout<<"no..."<<endl;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
粟濯仝名姝
2019-08-10 · TA获得超过3712个赞
知道小有建树答主
回答量:3109
采纳率:32%
帮助的人:204万
展开全部
#include<iostream>
using
namespace
std;
bool
hui(char
c[])
{
int
len,i,j;
len=strlen(c);
for(i=0,j=len-1;i<=j;i++,j--)

if(c[i]!=c[j])
return
false;
if(i>j)
return
true;
}
int
main()
{
char
c[2000];
cin>>c;
if(hui(c))
cout<<c<<"
是回文"<<endl;
else
cout<<c<<"
不是回文"<<endl;
return
0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友52aeb54
2010-05-14 · TA获得超过2996个赞
知道小有建树答主
回答量:1261
采纳率:0%
帮助的人:1164万
展开全部
#include<iostream>
using namespace std;

bool f(int n)
{
int a[100],count=0,n0=n,count1=0;
while(n>0)
{
n /=10;
count++;
}
while(n0>0)
{
for(int i=0;i<count;i++)
{
a[i]=n0%10;
n0 /=10;
}
for(i = 0; i <= count/2; i++)
if(a[i] != a[count - i - 1])
return false;
return true;
}
}
void main()
{
int x;
cin>>x;
if(f(x))
cout<<"yes!!!"<<endl;
else
cout<<"no..."<<endl;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式