#include<stdio.h>
char* Filter(char*str)
{
int len=strlen(str);
char*p=str;
while(p[0]!='\0')
{
(p[0]<65||(p[0]>90&&p[0]<97)||p[0]>122)?strcpy(p,p+1):p++;
}
return str;
}
int CheckPalindrome(char*str)
{
int scope=strlen(str)/2,len=strlen(str),i;
for(i=0;i<scope;i++)
if(str[i]!=str[len-1-i])
return 0;
return 1;
}
int main()
{
char str1[20];
printf("输入字串(半角字符20个以内)");
//scanf("%s",str1);
gets(str1);
if(CheckPalindrome(Filter(str1)))
printf("是回文");
else
printf("不是回文");
return 0;
}
//不光要首尾判断,还要滤非字母字符