看书打的Palindromes

来源:互联网 发布:mac系统剪切文件 编辑:程序博客网 时间:2024/05/01 19:14

这个题Palindromes是目前为止遇到的最麻烦的,作为菜鸟的我显然是不会做的, 于是就看书上的敲了一遍代码,收获还是非常大的,体会这个程序的思想(简洁),还是有很多不知道的知识点,但是多想想里面的主要内容,还是比较简单的(虽然我不会)。                                     

#include<stdio.h>#include<string.h>#include<ctype.h>const char* rev="A   3  HIL JM O   2TUVWXY51SE Z  8 ";const char* msg[]={"not a palindrome","a regular palindrome","a mirrored string","a mirrored palindrome"};char r(char ch){if(isalpha(ch))return rev[ch-'A'];return rev[ch-'0'+25];}int main(){char s[30];int i;while(scanf("%s",s)==1){int len=strlen(s);int p=1,m=1;for( i=0;i<(len+1)/2;i++){if(s[i]!=s[len-1-i])p=0;if(r(s[i])!=s[len-1-i])m=0;}printf("%s -- is %s.\n\n",s,msg[m*2+p]);}return 0;}

0 0
原创粉丝点击