一个5位数,用c语言来判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同

如题所述

简单的很,既然是回文,就先把数字转成字符串,指针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;
}
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2018-03-01
#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);
}本回答被提问者和网友采纳
第2个回答  2014-05-15
#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");}
}
相似回答