加密的病历单

小王于2022-02-15发布在亲友圈 / 被围观978次

描述

小英是药学专业大三的学生,暑假期间获得了去医院药房实习的机会。
在药房实习期间,小英扎实的专业基础获得了医生的一致好评,得知小英在计算概论中取得过好成绩后,主任又额外交给她一项任务,解密抗战时期被加密过的一些伤员的名单。
经过研究,小英发现了如下加密规律(括号中是一个“原文 -> 密文”的例子)
1. 原文中所有的字符都在字母表中被循环左移了三个位置(dec -> abz)
2. 逆序存储(abcd -> dcba )
3. 大小写反转(abXY -> ABxy)

输入

一个加密的字符串。(长度小于50且只包含大小写字母)

输出

输出解密后的字符串。

样例输入

GSOOWFASOq

样例输出

Trvdizrrvj

题解

cpp

#include <cstdio>
#include <iostream>
#include <string>
#include <cstdio>
#include <cstring>
using namespace std;
int main()
{
    string a;
    char b;
    int c = 0;
    getline(cin,a);
    c = a.size();
    for(int i = 0;i < c;i++) 
    { 
        b = a[i]; 
        if(a[i] >= 'a' && a[i] <= 'z') 
        { 
            b += 3; 
            if(b > 'z')
                b -= 26;
            b -= 32;
        }
        if(a[i] >= 'A' && a[i] <= 'Z') 
        { 
            b += 3; 
            if(b > 'Z')
                b -= 26;
            b += 32;
        }
        a[i] = b;
    }
    for(int i = c - 1;i >= 0;i--)
        cout << a[i];
    return 0;
}

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注