输入一个数,验证是否是回文数
#include <stdio.h>
#include<stdlib.h>
int count(int x,int i){//求出回文数有几位
int j;
if((j=x/10)!=0)
{
i++;
count(j,i);
}else{
return ++i;
}
}
int main()
{
int x;
scanf("%d",&x);
//int x=123721;
int k=0;
if (x < 0)
return 0;
int c=count(x,k);//求出回文数有几位
//printf("C的值是: %d\n",c);
char string[32];
itoa(x, string, 10);//数值转字符串
//int it=sizeof(string) / sizeof(string[0]);
//printf("it的值是: %d\n",it);
int flag = 0;
for(int i = 0; i < c/2; i++){
if(string[i]!=string[c-i-1]){//检验对应位置是否相等
flag = 0;
break;
}else{
flag = 1;
//printf("string = %c\n", string[i]);
}
}
if(flag)
printf("是回文数!!!");
else
printf("不是回文数");
return 0;
}
截图: