12.加密的病历单

来源:互联网 发布:淘宝涮单怎么样更赚钱 编辑:程序博客网 时间:2024/05/01 04:03
描述

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

输入
一个加密的字符串。(长度小于50且只包含大小写字母)
输出
输出解密后的字符串。
样例输入
GSOOWFASOq
样例输出

Trvdizrrvj


#include<stdio.h>
#include<string.h>
int main()
{
    char s[50];
    scanf("%s", s);
    int len = strlen(s);
    int i;
    for(i = len - 1; i >= 0; i--)//逆序输出
    {
        if(s[i] >= 'a')//
        {
            s[i] = 'a' + (s[i] - 'a' + 3) % 26;
            //(s[i] - 'a' + 3)这里的+3将字符右移三个位置
            //'a' + (s[i] - 'a' + 3) % 26得到原小写字母
            putchar(s[i] - 32);//大小写反转
        }
        else
        {
            s[i] = 'A' + (s[i] - 'A' + 3) % 26;
            //'A' + (s[i] - 'A' + 3) % 26得到原小写字母
            putchar(s[i] + 32);//大小写反转
        }
    }
    return 0;
}