1、回文数

#include<stdio.h>
int length(int n)
{
	int count=0;
	while(n)
	{
		n/=10;
		count++;
	}
	return count;
}
int num_huiwen(int n)
{
	int i=0;
	int arr[20];
	if(n<=0)
	{
		printf("请重新输入数字:");
		scanf("%d",&n);
		huiwen(n);
	}
	else
	{
		int len=length(n);
		for(i=0;i<len;i++)
		{
			arr[i]=n%10;
			n/=10;
		}
		for(i=len-1;i>=0;i--)
		{
			if(arr[i]==arr[len-i-1])
			{
				return 1;
			}
			else
			{
				return 0;
			}
		}
	}
}
int main()
{
	int num=0;
	int ret=0;
	printf("请输入数字:");
	scanf("%d",&num);
	ret=num_huiwen(num);
	if(ret==1)
	{
		printf("该数是回文数!\n");
	}
	else
	{
		printf("该数不是回文数!\n");
	}
	return 0;
}

2、回文字符

#include<stdio.h>
#include<string.h>
int char_huiwen(char arr[])
{
	int len=strlen(arr);
	int i=0;
	for(i=0;i<len;i++)
	{
		if(arr[i]==arr[len-i-1])
		{
			return 1;
		}
		else
		{
			return 0;
		}
	}
}
int main()
{

	char arr[20]="hello olleh";
	int ret=char_huiwen(arr);
	if(ret==1)
	{
		printf("该字符串是回文字符串!\n");
	}
	else
	{
		printf("该字符串不是回文字符串!\n");
	}
	return 0;
}