凯撒密码题解
2026-04-04 09:52:43
发布于:江苏
19阅读
0回复
0点赞
题解版
#include<bits/stdc++.h>//万能头文件
using namespace std;
int main(){
string m,a,s;cin>>m>>a>>s;//输入
for(int i=0;i<s.size();i++){//循环遍历将密文改为明文
s[i]+=m[0]-a[0];//将密文改为明文
if(s[i]>'Z')s[i]-=26;//如果明文的ASCII值大于字母Z的ASCII值,那么将字符-26(化为大写字符)
if(s[i]<'A')s[i]+=26;//如果明文的ASCII值小于字母A的ASCII值,那么将字符+26(化为大写字符)
}
cout<<s;//输出
return 0;//结束
}
简略版
#include<bits/stdc++.h>
using namespace std;
int main(){
string m,a,s;cin>>m>>a>>s;
for(int i=0;i<s.size();i++){
s[i]+=m[0]-a[0];
if(s[i]>'Z')s[i]-=26;
if(s[i]<'A')s[i]+=26;
}
cout<<s;
return 0;
}
这里空空如也







有帮助,赞一个