一个5位数,用c语言来判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同
3个回答
展开全部
简单的很,既然是回文,就先把数字转成字符串,指针p,q指向两头,
随便一个数都行
#include <iostream>
#include <string.h>
#include <stdlib.h>
using namespace std;
int main()
{
int num;
cout<<"input a num:"<<endl;
cin>>num;
char numstr[128]={0};
itoa(num,numstr,10);
char* p=numstr,*q=numstr+strlen(numstr)-1;
bool flag =true;
while(p<q)
if(*p++!=*q-- ){
flag=false;
break;
}
cout<<"it is "<<boolalpha <<flag<<endl;
return 0;
}
随便一个数都行
#include <iostream>
#include <string.h>
#include <stdlib.h>
using namespace std;
int main()
{
int num;
cout<<"input a num:"<<endl;
cin>>num;
char numstr[128]={0};
itoa(num,numstr,10);
char* p=numstr,*q=numstr+strlen(numstr)-1;
bool flag =true;
while(p<q)
if(*p++!=*q-- ){
flag=false;
break;
}
cout<<"it is "<<boolalpha <<flag<<endl;
return 0;
}
展开全部
#include<stdio.h>
int ishuiwen(long x){
int a,b,c,d,e;
a=x/10000;
b=(x/1000)%10;
c=(x/100)%10;
d=(x/10)%10;
e=x%10;
if((a==e)&&(b==d))
return 1;
else
return 0;
}
void main(){
for(long i=10000;i<100000;i++)
if(ishuiwen(i)==1) printf("%ld\t",i);
}
int ishuiwen(long x){
int a,b,c,d,e;
a=x/10000;
b=(x/1000)%10;
c=(x/100)%10;
d=(x/10)%10;
e=x%10;
if((a==e)&&(b==d))
return 1;
else
return 0;
}
void main(){
for(long i=10000;i<100000;i++)
if(ishuiwen(i)==1) printf("%ld\t",i);
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdio.h>
void main()
{
char s[5];
int i=0,flag=0;
printf("输入一个五位数");
scanf("%s",s);
for(i=0;i<=3;i++)
{
if(s[i]!=s[4-i])flag=1;
}
if(flag==0){printf("YES");}
if(flag==1){printf("NO");}
}
void main()
{
char s[5];
int i=0,flag=0;
printf("输入一个五位数");
scanf("%s",s);
for(i=0;i<=3;i++)
{
if(s[i]!=s[4-i])flag=1;
}
if(flag==0){printf("YES");}
if(flag==1){printf("NO");}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询