如果发现广告等破坏行为,请尽量将条目恢复到较早的版本而不是把相应内容直接删除,谢谢合作。
请使用nocow的标准命名规则
UVA/题号而不是
题号 - 标题进行命名,谢谢合作。具体可参照本站其它页面。
UVA/401讨论
来自"NOCOW"
< UVA
/* * 自己写的一个看起来比较清晰的版本 */ #include<stdio.h> #include<string.h> int main() { char str[1000]; char mes[][50]= { " -- is not a palindrome." , " -- is a regular palindrome.", " -- is a mirrored string.", " -- is a mirrored palindrome." }; char mirrormap[129]; mirrormap['A']='A'; mirrormap['E']='3'; mirrormap['H']='H'; mirrormap['I']='I'; mirrormap['J']='L'; mirrormap['L']='J'; mirrormap['M']='M'; mirrormap['O']='O'; mirrormap['S']='2'; mirrormap['T']='T'; mirrormap['U']='U'; mirrormap['V']='V'; mirrormap['W']='W'; mirrormap['X']='X'; mirrormap['Y']='Y'; mirrormap['Z']='5'; mirrormap['1']='1'; mirrormap['2']='S'; mirrormap['3']='E'; mirrormap['5']='Z'; mirrormap['8']='8'; int i,j,m,p; int len; while(scanf("%s",str)==1) { m=p=1; len=strlen(str); for(i=0,j=len-1;i<=j;++i,--j) { if(p && (str[i] != str[j])) p=0; if(m && (mirrormap[str[i]] != str[j])) m=0; } printf("%s%s\n\n",str,mes[p+m*2]); } return 0; }