題目描述:對輸入的字符串進行加解密,并輸出。(字符串中只含有英文字母和數字)
加密方法為:當內容是英文字母時則用該英文字母的后一個字母替換,同時字母變換大小寫,如字母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;}
新聞熱點
疑難解答
圖片精選