【例题3-3 UVA - 401】Palindromes

【链接】 我是链接,点我呀:)
【题意】

在这里输入题意

【题解】

如果一个字符没有对应的镜像,那么它对应的是一个空格。 然后注意 aba这种情况。 这种情况下b也要查一下它的镜像是不是和b一样。

【错的次数】

在这里输入错的次数

【反思】

在这里输入反思

【代码】

#include <bits/stdc++.h>
using namespace std;

const char * rev = {"A   3  HIL JM O   2TUVWXY51SE Z  8 "};
const char * msg[] = {"is not a palindrome.","is a regular palindrome.",
    "is a mirrored string.","is a mirrored palindrome."};

const int N = 100;
char s[N];

char re(char ch)
{
    if (isalpha(ch))
        return rev[ch-'A'];
    return rev[ch-'0'+25];
}

int main()
{
    //freopen("F:\\rush.txt","r",stdin);
    while (~scanf("%s",s))
    {
        int len = strlen(s);
        int x = 1,y = 1;
        for (int i = 0;i < (len+1)/2;i++)
        {
            if (s[i]!=s[len-i-1]) x = 0;
            if (re(s[i])!=s[len-i-1]) y = 0;
        }
        printf("%s -- %s\n\n",s,msg[y*2+x]);
    }
    return 0;
}
posted @ 2017-10-10 16:00  AWCXV  阅读(124)  评论(0编辑  收藏  举报