本题要求编写程序,将英文字母替换加密。为了防止信息被别人轻易窃取,需要把电码明文通过加密方式变换成为密文。变换规则是:将明文中的所有英文字母替换为字母表中的后一个字母,同时将小写字母转换为大写字母,大写字母转换为小写字母。例如,字母a->B、b->C、…、z->A、A->b、B->c、…、Z->a。输入一行字符,将其中的英文字母按照以上规则转换后输出,其他字符按原样输出。
输入格式:
输入一行字符,以回车符 '\n'作为 结束符。
输出格式:
将输入的一行字符中的所有英文字母替换为字母表中的后一个字母,同时将小写字母转换为大写字母,大写字母转换为小写字母后输出,其他字符按原样输出。
输入样例:
在这里给出一组输入。例如:
Reold Z123?
输出样例:
在这里给出相应的输出。例如:
sFPME a123?
#include<bits/stdc++.h>
using namespace std;
int main(){
string s;
getline(cin,s);
for(int i=0;i<s.size();i++){
if(s[i]>='a'&&s[i]<='z')
{
if(s[i]!='z')s[i]-=31;
else s[i]='A';
}
else if(s[i]>='A'&&s[i]<='Z') //这里我的一个朋友在做的时候,用的是if,然后出现了错误:
这里我的解释是,对于嵌套类判断,最外层不能只有if
{
if(s[i]!='Z')s[i]+=33;
else s[i]='a';
}
cout<<s[i];
}
}