B2115 密码翻译
题目:B2115
题意:
- 题目描述是加密,我们要解密,因此反过来。
- 把
b - z 和B - Z 替换成前一个字母; - 把
a 替换成z ,把A 替换成Z ; - 这一点比较神奇,
@ 算为A 。
- 把
Code:
#include<bits/stdc++.h>
using namespace std;
char s[81]; //定义字符串。
int n; //字符串长度。
int main()
{
cin.getline(s,81);
//输入字符串,因为有空格,所以不能用cin。
//最多80位,末位自动为'\0',所以输入81位,输入不够81位就自动停止。
n=strlen(s); //非空字符串长度。
for(int i=0;i<n;i++) //输入时是从第0位到第n-1位。
{
if((s[i]>='b'&&s[i]<='z')||(s[i]>='B'&&s[i]<='Z'))
s[i]--;
//把b-z和B-Z替换成前一个字母。
else if(s[i]=='a')
s[i]='z';
//把a替换成z。
else if(s[i]=='A'||s[i]=='@')
s[i]='Z';
//把A和@替换成Z。
cout<<s[i]; //边改边输出。
}
return 0;
}