#include <stdio.h>
#include <string.h>
#include <ctype.h>
#define M 80
int main()
{
char s[M];
int len,flag;
int i,j;
printf("输入个数少于%d的字符串\n",M);
gets(s);
len=strlen(s);
if(len>M)
{
printf("超过长度\n");
return 1;
}
for(i=0,j=0;i<len;i++)
{
s[j]=s[i];
if(isalnum(s[i]))//如果是字符或者数字,拷贝
j++;
}
s[j]='\0';
len=strlen(s);
for(i=0,j=len-1,flag=1;i<j;i++,j--)
if(s[i]!=s[j])
flag=0;
printf("新字符串:\n");
puts(s);
if(flag==1)
printf("字符串对称\n");
else
printf("字符串不对称\n");
return 0;
}
追问假如在最后判断是否对称不 区分大小写呢?
感谢了哈
追答if(s[i]!=s[j])
换成
if(tolower(s[i])!=tolower(s[j]))//都换成小写的