判断字符串或数字是否是回文序列

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);
}

判断字符串或数字是否是回文序列_第1张图片

你可能感兴趣的:(C语言)