写在前面
最近有点懒,但是不能停止写博客,整理下前面一段时间在比赛中写的代码,一方面帮助自己学习,另一方面可以给观看此博客的你一点点算法上的思路,如代码有问题,请及时私信与我,我们相互一起学习学习。
问题描述
使用凯撒密码加密字符串
‘w’-‘z’加密成‘a’-‘c’ 其他加密成字母表后三位如a–>d
输入
lanqiao
输出
odqtldr
#include<iostream>
#include<string>
using namespace std;
void fun(string s1,int n)
{
for(int i = 0 ; i < n ; ++i)
{
if(s1[i] > 'w' && s1[i] <= 'z') //如果在w—z 进行加密
{
s1[i] = 'c' - 'z' + s1[i] ; //z-s1[i]代表离z差多少位,加密时则比c小多少位
continue;
}
if(s1[i] >= 'a' && s1[i] <= 'w')
{
s1[i] = s1[i] + 3; //直接移3位
continue;
}
}
cout<< s1 <<endl;
}
int main()
{
string s1;
cin >> s1;
fun(s1 , s1.size());
return 0;
}