UVACO401

来源:互联网 发布:c语言自学难吗 编辑:程序博客网 时间:2024/06/07 16:35

回文~~~

#include <stdio.h>#include <string.h>int is_p(char* s){int n = strlen(s);for(int i = 0; i < n/2; i++){if(s[i] != s[n-i-1])return 0;}return 1;}int is_mrror(char* s){const char A[20] = "AMYOHITUVWX18EL25";const char B[20] = "AMYOHITUVWX183JSZ";int size = strlen(A);int n = strlen(s);for(int k = 0; k < n; k++){if(strchr(A,s[k])==NULL&&strchr(B,s[k])==NULL)return 0;}if(n == 1){if(strchr(A,s[0])==NULL)return 0;}else{for(int i = 0; i < n/2; i++){for(int j = 0; j < size; j++){if(s[i] == A[j]){if(s[n-1-i] != B[j]) return 0;}}}return 1;}}int main(int argc, char *argv[]) {char s[21];memset(s,0,sizeof(s));while(scanf("%s",s)==1){if((is_p(s))&&(is_mrror(s)))printf("%s -- is a mirrored palindrome.\n",s);else if((!is_p(s))&&(!is_mrror(s)))printf("%s -- is not a palindrome.\n",s);else if((is_p(s))&&(!is_mrror(s)))printf("%s -- is a regular palindrome.\n",s);else if((!is_p(s))&&(is_mrror(s)))printf("%s -- is a mirrored string.\n",s);}return 0;}


0 0
原创粉丝点击