加密的病历单
题目描述
小英是药学专业大三的学生,暑假期间获得了去医院药房实习的机会。
在药房实习期间,小英扎实的专业基础获得了医生的一致好评,得知小英在计算概论中取得过好成绩后,主任又额外交给她一项任务,解密抗战时期被加密过的一些伤员的名单。
经过研究,小英发现了如下加密规律(括号中是一个“原文 → 密文”的例子)
原文中所有的字符都在字母表中被循环左移了三个位置( bcd → yza bcd→yza)
逆序存储( abcd → dcba abcd→dcba)
大小写反转( abXY → ABxy abXY→ABxy)
现在给出一个加密的字符串,请你将其解密。
代码如下
#include <bits/stdc++.h>
using namespace std;
string a,b;
int main()
{
cin>>a;
for (int i=0;i<a.length();i++)
{
if(a[i]>='x')
{
a[i]=a[i]-23;
}
else a[i]+=3;
}
for (int i=0;i<a.length();i++)
{
if(a[i]>='A'&&a[i]<='Z') a[i]=a[i]-'A'+'a';
else if(a[i]>='a'&&a[i]<='z')
a[i]=a[i]+'A'-'a';
// b[j]=a[i];
// j++;
}
for(int i=a.length();i>=0;i--)
{
cout<<a[i];
}
return 0;
}
为啥这个代码样例全过,但是提交全WA?
大佬们帮帮可怜的蒟吧(汗)