标签:
任意输入一个数,判断是否为回文数。
方法:将高低位互换之后如果仍然相等,则为回文数。
#include <stdio.h>
int huiwen(unsigned int value)
{
unsigned int n = value;
unsigned int t = 0;
while(n)
{
t = t*10 + n%10;
n = n/10;
}
return (t == value);
}
int main ()
{
int a,tmp;
printf("please enter a number:\n");
scanf("%d",&a);
tmp = huiwen(a);
if(tmp)
{
printf("是回文数。\n");
}
else
{
printf("不是回文数。\n");
}
return 0;
}
回文字符串判断。
方法:将字符串分别从前向后与从后向前的字符比较,若都相等,则为回文字符串。
#include <stdio.h>
#include <assert.h>
int huiwen(char *pa)
{
char *left = pa;
char *right = pa;
assert(pa);
while(*right != ‘\0‘)
{
right++;
}
*right = ‘\0‘;
while(*left == *(right-1))
{
left++;
right--;
if(left = right-1)
{
return 1;
}
}
if(*left != *(right-1))
{
return 0;
}
return 0;
}
int main ()
{
char a[] = "ab";
int tmp = huiwen(a);
if(tmp)
{
printf("是回文字符串。\n");
}
else
{
printf("不是回文字符串。\n");
}
return 0;
}
标签:
原文地址:http://blog.csdn.net/sulijuan66/article/details/45286577