1.判断是否是回文数字
先得到数字的个位,然后让个位最为第一个, 新数 = 新数*10 + 余数,余数为数字除以10然后对10取余。直到原来的数字小于10即停止循环。
2.判断是否是回文字符串
这个比较简单:从字符串的头和尾依次进行比较是否相等。
下面是VS2008环境下实现的:
void IsPalindrome(int number) //数字的判断
{
int m = 0;
int p = number;
m = number%10;
while(number >= 10)
{
number = number/10;
m = m*10 + number%10;
}
if(m == p) //得到的新数与原来的数字比较
{
printf("该数%d是回文数.\n",p);
}
else
{
printf("不是回文数.\n");
}
}
void StringPalindrome(char arr[],int n) //字符串的判断
{
int end = n-1;
int start = 0;
if(n == 0 || n == 1)
{
printf("请重新输入字符串.\n");
return;
}
while(start < end)
{
if(arr[end] != arr[start])
{
printf("不是回文字符串.\n");
return;
}
end--;
start++;
}
printf("该字符串%s是回文字符串.\n",arr);
}