博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
回文词
阅读量:4617 次
发布时间:2019-06-09

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

题意大概:

输入一个只含大写字母和数字的字符串,判断这个字符串的性质:

1只是镜像

2只是回文

3既是镜像又是回文

4两个都不是

回文:正着读反着读都一样

镜像:

A 的镜像A

B           无

C    

D

E   3

F

G

H   H

I   I

J  L

K  

L   J

M M

N  

O O

P

Q

R

S 2

T T

U U

V V

W W

X X

Y Y

Z 5

1 1

2 S

3 E

4

5 Z

7

8

9

源代码:

#include <iostream>

#include<string>
using namespace std;
char* a="A   3  HIL JM O   2TUVWXY51SE Z  8 ";
string c[4]={"is not a palindrome","is a regular palindrome ","is a mirrored string","is a mirrored palindrome"};
char r(char hh)
{
    if(isalpha(hh))
    return a[hh-'A'];
    else
        return a[hh-'0'+25];
}
int main()
{
    string b;
    cin>>b;
    int len=b.size();
    int x=1,y=1;
    for(int i=0;i<=((len+1)/2)-1;i++)
    {
        if(b[i]!=b[len-1-i])
            x=0;
        if(r(b[i])!=b[len-1-i])
            y=0;
    }
    if(x==0&&y==0)
        cout<<c[0]<<endl;
    else if(x==1&&y==0)
        cout<<c[1]<<endl;
    else if(x==0&&y==1)
        cout<<c[2]<<endl;
    else
        cout<<c[3]<<endl;
    return 0;
}

知识点:

1

char a;

isalpha(a);    头文件:#include<ctype.h>

用于判断a是否为英文字母,如果a是英文字母返回正整数,不是返回0

2

两个字符型字母(大写或小写),两个字符型整数相减,结果为数字。

'5'-'1'=5

'Z'-'A'=25

转载于:https://www.cnblogs.com/iamjuruo/p/7470978.html

你可能感兴趣的文章
转载 https协议和http协议的区别
查看>>
Google Analytics添加到网站
查看>>
PageControl的小点点随ScrollView滑动而变动代码
查看>>
(十三)在ASP.NET CORE中使用Options
查看>>
关于博主
查看>>
【2014年2、3月份日常记录表(2014.2.24—3.31,36天)】
查看>>
Dreamweaver中的插件如何应用
查看>>
iTerm2中粘贴tab问题
查看>>
SPFA算法 - Bellman-ford算法的进一步优化
查看>>
Darknet卷基层浅层特征可视化教程
查看>>
Laplace算子和Laplacian矩阵
查看>>
CentOS7 搭建gitlab服务器
查看>>
CSS控制文字,超出部分显示省略号
查看>>
NSMutableAttributedString实现富文本 (实现不同颜色和字体、下划线)
查看>>
贝叶斯规则
查看>>
解决Centos/Redhat,命令不存在
查看>>
项目实战—小饭桌
查看>>
ubuntu服务器版相关命令
查看>>
gdb
查看>>
flask下载zip文件报错TypeError
查看>>