回文词

来源:互联网 发布:mysql router 读写分离 编辑:程序博客网 时间:2024/04/29 23:32
#include<stdio.h>#include<string.h>#include<ctype.h>const char *rev="A   3  HIL JM O   2TUVWZY51SE Z  8 ";const char * msg[]={"not a palindrome","a regular palindrome","a mirrored string","a mirrored palindrome"};char r(char ch) //返回字符的镜像字符{    if(isalpha(ch))//如果ch是字母    {        return rev[ch-'A'];    }    return rev[ch-'0'+25];  //如果ch是数字}int main(){    char s[30];    while(scanf("%s",s)==1)    {        int len=strlen(s);        int p=1,m=1;//p和m为标志位        for(int i=0;i<(len+1)/2;i++)        {            if(s[i]!=s[len-1-i])            {                p=0;    //不是回文串            }            if(r(s[i])!=r(s[len-1-i]))            {                m=0;    //不是镜像串            }        }        printf("%s -- is %s.\n\n",s,msg[m*2+p]);    }    return 0;}

这里写图片描述

0 0
原创粉丝点击