题目描述:对输入的字符串进行加解密,并输出。(字符串中只含有英文字母和数字)
加密方法为:当内容是英文字母时则用该英文字母的后一个字母替换,同时字母变换大小写,如字母a时则替换为B;字母Z时则替换为a;当内容是数字时则把该数字加1,如0替换1,1替换2,9替换0;解密方法为加密的逆过程。
输入描述:输入一串要加密的密码和一串加过密的密码
输出描述:输出加密后的字符和解密后的字符
输入例子:
abcdefg
BCDEFGH
输出例子:
BCDEFGH
abcdefg
算法实现:
#include<iostream>#include<string>using namespace std;/************************************************ * Author: 赵志乾 * Date: 2017-2-17 * Declaration: All Rigths Reserved !!! ***********************************************/ int main(){ string code,decode; cin>>code>>decode; string retcode=code; for(int i=0;i<code.length();i++) { if(code[i]>='A'&&code[i]<='Z') { retcode[i]=(code[i]-'A'+1)%26+'a'; } else if(code[i]>='a'&&code[i]<='z') { retcode[i]=(code[i]-'a'+1)%26+'A'; } else { retcode[i]=(code[i]-'0'+1)%10+'0'; } } string retdecode=decode; for(int i=0;i<decode.length();i++) { if(decode[i]>='A'&&decode[i]<='Z') { retdecode[i]=(decode[i]-'A'-1+26)%26+'a'; } else if(decode[i]>='a'&&decode[i]<='z') { retdecode[i]=(decode[i]-'a'-1+26)%26+'A'; } else { retdecode[i]=(decode[i]-'0'-1+10)%10+'0'; } } cout<<retcode<<endl; cout<<retdecode<<endl; return 0;}
新闻热点
疑难解答
图片精选