黄戈 • 4个月前
#include<bits/stdc++.h>
using namespace std;
char bg[27][27];
char g,h;
void biaoge(){
int chushi=97;
int standing;
for(int i=1;i<=26;i++){
standing=chushi;
chushi++;
for(int j=1;j<=26;j++){
if(standing==123){
standing=97;
}
bg[i][j]=char(standing);
standing++;
}
}
}
bool flag=0;
int main(){
biaoge();
string a,b;
cin>>a>>b;
string a1=a;
int alen=a.length();
int blen=b.length();
if(blen>alen){
int c=blen/alen;
for(int i=0;i<c;i++){
a+=a1;
}
}
for(int i=0;i<blen;i++){
flag=0;
g=a[i];
h=b[i];
if(g>='A'&&g<='Z'){
g-='a'-'A';
}
if(h>='A'&&h<='Z'){
flag=1;
h-='a'-'A';
}
for(int j=1;j<=26;j++){
if(bg[g-96][j]==h){
if(flag){
cout<<char(bg[1][j]-('a'-'A'));
}
else{
cout<<bg[1][j];
}
}
}
}
//防复制,有两个错误的地方
return 0;
}
评论: