您的位置:首页 > 其它

判断一个数字是否是回文

2008-03-18 21:43 316 查看
据说是HuaWei 面试试题,不知道真假了。

#include <stdio.h>

int check(int m)
{
int n =m ,i,d = 0;
while(n)
{
d = d * 10 + n %10;
n /= 10 ;
}
return (d == m);
}
int checkstr(char * str)
{
int len, i;
if(!str || !(len = strlen(str))) return 0;
for(i = (len-1) /2 ; i >=0 ; i--)
if(str[i] != str[len - 1 - i] )break;
return i < 0 ;
}
int main()
{
int a[5] = {12,121,3443,5665,2312};
int i;
char szbuf[128];
for(i = 0 ; i < 5;i ++)
{
printf("%d == %s ",a[i], check(a[i]) ? "ok":"no");
}
printf(" %");
while(fgets(szbuf,128,stdin) > 0 )
{
szbuf[strlen(szbuf) -1] = 0;
if(strcmp(szbuf,"exit") == 0) break;
printf("%s == %s",szbuf, checkstr(szbuf) ? "Yes" : "No");
printf(" %");
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐