求一个高手帮我看看为何总是WA
流浪剑客孙 2017-10-27 07:42:20 #include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include<ctype.h>
const char* rev = "A 3 HIL JM O 2TUVWXY51SE Z 8 ";
char r(char ch) {
if(isalpha(ch)) return rev[ch - 'A'];
return rev[ch - '0' + 25];
}
int main()
{
char str[10000];
int j,i,m,n;
while(scanf("%s",str)!=EOF)
{
m=1,n=1;
int l=strlen(str);
j=l-1;
i=0;
while(i<j)
{
if(str[i]!=str[j])
{m=0;break;}
i++;
j--;
}
j=l-1;
i=0;
while(i<j)
{
if(r(str[j])!=str[i])
{n=0;break;}
i++;
j--;
}
if(n==0&&m==0) printf("%s -- is not a palindrome.\n\n",str);
if(m==1&&n==0) printf("%s -- is a regular palindrome.\n\n",str);
if(m==0&&n==1) printf("%s -- is a mirrored string.\n\n",str);
if(m==1&&n==1) printf("%s -- is a mirrored palindrome.\n\n",str);
}
return 0;
}
紫书上的原题Palindromes