描述
对输入的字符串进行加解密,并输出。
加密方法为:
当内容是英文字母时则用该英文字母的后一个字母替换,同时字母变换大小写,如字母a时则替换为B;字母Z时则替换为a;
当内容是数字时则把该数字加1,如0替换1,1替换2,9替换0;
其他字符不做变化。
解密方法为加密的逆过程。
数据范围:输入的两个字符串长度满足 1≤n≤1000 1≤n≤1000 ,保证输入的字符串都是只由大小写字母或者数字组成
输入描述:
第一行输入一串要加密的密码
第二行输入一串加过密的密码
输出描述:
第一行输出加密后的字符
第二行输出解密后的字符
示例1
输入:
abcdefg
BCDEFGH
输出:
BCDEFGH
abcdefg
#include <ios>
#include <iostream>
using namespace std;
//string digLetter[26]={A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z};
//string smallLetter[26]={a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z};
//int num[10]={0,1,2,3,4,5,6,7,8,9};
string encrypted_code(string code){
string password="";
for(int i=0;i<code.size();i++){
//英文字母用该英文后一个字母替换
//字母变换大小写,大写变成小写,小写变成大些
//ascii大写在前,小写在后,差32,加一等于33
if(code[i]>='a'&&code[i]<='z'){
if(code[i]=='z'){
//a且变成大写
password[i]=code[i]-25-32;
}else{
//其他的都是往后一位,变换大小写
password[i]=code[i]-32+1;
}
}else if(code[i]>='A'&&code[i]<='Z'){
if(code[i]=='Z'){
password[i]=code[i]+32-25;
}else
password[i]=code[i]+32+1;
}else if(code[i]>=0&&code[i]<=9){
if(code[i]==0){
password[i]=9;
}else{
password[i]=code[i]-1;
}
}
//内容为数字,数字加1,其他字符不做变换
}
return password;
}
string decode( string code){
string passwordPre="";
for(int i=0;i<code.size();i++){
//内容为数字,减1
if(code[i]>=0&&code[i]<=9){
if(code[i]==0){
passwordPre[i]=9;
}else{
passwordPre[i]=code[i]-1;
}
}else if(code[i]>='a'&&code[i]<='z'){
if(code[i]=='a'){
passwordPre[i]='Z';
}else{
passwordPre[i]=code[i]-32-1;
}
}else if(code[i]>='A'&&code[i]<='Z'){
if(code[i]=='A'){
passwordPre[i]='z';
}else{
passwordPre[i]=code[i]+32+1;
}
}
//内容为字母,大写变成小写,小写变成大写,字母往前一位,a==Z,B=a
}
return passwordPre;
}
int main() {
string encryptedCode;
string deCode;
while(cin>>encryptedCode>>deCode){
cout<<encrypted_code(encryptedCode)<<endl;
cout<<decode(deCode)<<endl;
}
}
// 64 位输出请用 printf("%lld")
关于ascii码 的进制转换。按照下面的表格进行相应的加减操作:
#include <iostream>
using namespace std;
int main()
{
char a[20];
int i = 0;
cout<<"请输入一串字符:\n";
cin>>a;
for(;a[i];i++)
{
if(a[i] >= 'a'&&a[i] <= 'z')
a[i] -= 32;
else if(a[i] >= 'A'&&a[i] <= 'Z')
a[i] += 32;
}
for(i = 0;a[i];i++)
cout<<a[i];
cout<<endl;
system("pause");
return 0;
}