欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

UVa401

程序员文章站 2022-03-14 19:40:56
...

题目链接:https://vjudge.net/problem/UVA-401

本题目比较水,主要考察常量数组的应用。

#include <ctype.h>
#include <string.h>
const char s[50] = "A   3  HIL JM O   2TUVWXY51SE Z  8 ";
char change(char c) {
    if(isalpha(c)) return s[c-'A'];
    return s[c-'0'+25];
}

int main() {
    freopen("i.txt","r", stdin);
    char str[50];
    int len, i;
    while(~scanf("%s",str)) {
        int f1 = 1, f2 = 1;
        for(len = 0; str[len]; len++);
        //这里注意要为等于,在这wa了好几次
        for(i = 0; i <= len/2; i++) {
            if(str[i]!=str[len-i-1]) f1 = 0;
            if(change(str[i])!=str[len-i-1]) f2 = 0;
        }
        printf("%s",str);
        if(f1 && f2) printf(" -- is a mirrored palindrome.\n\n");
        else if(f1 && !f2) printf(" -- is a regular palindrome.\n\n");
        else if(!f1 && f2) printf(" -- is a mirrored string.\n\n");
        else printf(" -- is not a palindrome.\n\n");
    }

    return 0;
}
相关标签: Uva