#include <stdio.h>
#include <string.h>
#define maxn 100
char s[maxn];
int main()
{
//输入一个字符串s
memset(s,' ',sizeof(s));
while(scanf("%s",s)==1)
{
//判断它是否为回文串
//倒序字符串判断两字符串是否相等即可
//产生一个倒序字符串
char res[maxn];
memset(res,' ',sizeof(res));
for(int i=0;i<strlen(s);i++)
res[i]=s[strlen(s)-1-i];
//判断相等
int tag=1;
for(int i=0;i<strlen(s);i++)
if(s[i]!=res[i])
{
tag=0;
break;
}
if(tag==1)
printf("%s","is");
else
printf("%s","not");
//判断是否为镜像串
//镜像串的数组,偶数位为原字母,奇数位为镜像后
char relation[]="AAE3HHIIJLLJOOS2TTUUVVWWXXZ5112S3E5Z88";
//产生镜像字符串,倒序从原字母中查找,对应成镜像后的结果
char restr[maxn];
memset(restr,' ',sizeof(restr));
for(int i=0;i<strlen(s);i++)
{
for(int j=0;j<strlen(relation);j+=2)
if(s[i]==relation[j])
restr[strlen(s)-1-i]=relation[j+1];
}
//printf("%s",restr);
tag=1;
for(int i=0;i<strlen(s);i++)
if(s[i]!=restr[i])
{
tag=0;
break;
}
if(tag==1)
printf("%s","is");
else
printf("%s","not");
}
}
第三章例题 回文词与镜像词
最新推荐文章于 2020-02-02 10:37:33 发布