博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
算法学习之路|回文镜像串
阅读量:6708 次
发布时间:2019-06-25

本文共 1454 字,大约阅读时间需要 4 分钟。

判断一个字符串是不是镜像串和回文串

下表是题目所给的对称字符。
image

输入格式:输入多组数据,每行一个字符串

输出格式:”字符串—是否是回文串,镜像串,回文镜像串."

输入样例:

NOTAPALINDROME
ISAPALINILAPASI
2A3MEAS
ATOYOTA

输出样例:

NOTAPALINDROME -- is not a palindrome.
ISAPALINILAPASI -- is a regular palindrome.
2A3MEAS -- is a mirrored string.
ATOYOTA -- is a mirrored palindrome.

直接打表,列举情况就可以

#include
#include
int main(){ char save[200],a[200]; int i,j; int flag1=1,flag2=1; memset(save,0,sizeof(save)); save['A']='A'; save['E']='3'; save['H']='H'; save['I']='I'; save['J']='L'; save['L']='J'; save['M']='M'; save['O']='O'; save['S']='2'; save['T']='T'; save['U']='U'; save['V']='V'; save['W']='W'; save['X']='X'; save['Y']='Y'; save['Z']='5'; save['2']='S'; save['1']='1'; save['3']='E'; save['5']='Z'; save['8']='8'; while(scanf("%s",a)!=EOF) { flag1=1; flag2=1; i=strlen(a); for(j=0;j<=(i+1)/2-1;j++) { if(a[j]!=a[i-j-1]) flag1=0; if(a[j]!=save[a[i-j-1]]) flag2=0; } if(flag1) { if(flag2) printf("%s -- is a mirrored palindrome.\n",a); else printf("%s -- is a regular palindrome.\n",a); } else if(flag2) printf("%s -- is a mirrored string.\n",a); else printf("%s -- is not a palindrome.\n",a); printf("\n"); } return 0;}

转载地址:http://jislo.baihongyu.com/

你可能感兴趣的文章
手机gps无法定位的解决方案
查看>>
使用ORACLE 透明数据加密 TDE
查看>>
python读文件算数
查看>>
X64汇编之指令格式解析
查看>>
PHP缓存技术
查看>>
IDEA编译的优化:不用每次make
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
Ubuntu10.4 桌面空白
查看>>
32位与64位操作系统区别
查看>>
kafka 的原理介绍
查看>>
我的友情链接
查看>>
How to Modify Public Network Information including VIP in Oracle Clusterware
查看>>
JUnit——Annotation
查看>>
LDAP 搭建
查看>>
轻松学会Java高并发第一课-并发的基本概念
查看>>
8.30 16.4-16.8
查看>>
iptables的NAT配置
查看>>
Linux操作系统基础知识
查看>>
IOS & Android 下完美隐藏input光标
查看>>