题解 | #字符串加密#
字符串加密
https://www.nowcoder.com/practice/e4af1fe682b54459b2a211df91a91cf3
#include <cctype>
#include <iostream>
#include <random>
#include <string>
#include <vector>
#include <algorithm>
#include <bits/stdc++.h>
using namespace std;
int main() {
string key;
string mw;
cin>>key>>mw;
string key1 = "";
for(int i=0;i<key.size();i++){
string s1 = key.substr(i,1);
//如果没找到
if(key1.find(s1)==string::npos){
key1 = key1+s1;
}
}
string s2 = "abcdefghijklmnopqrstuvwxyz";
for(int i=0;i<s2.size();i++){
string s3 = s2.substr(i,1);
if(key1.find(s3)==string::npos){
key1+=s3;
}
}
// for(int i=0;i<key1.size();i++){
// cout<<key1[i];
// }
for(int i=0;i<mw.size();i++){
string s4 = mw.substr(i,1);
if(s4>="a"&&s4<="z"){
int wz = s2.find(s4);
cout<<key1[wz];
}else if(s4>="A"&&s4<="Z"){
char s5 = (char)s4[0];
int wz = s2.find(s5);
s5 = (char)key1[wz];
toupper(s5);
cout<<s5;
}else{
cout<<s4;
}
}
}
// 64 位输出请用 printf("%lld")
查看5道真题和解析