题目
题目描述
给定一个单词,请使用凯撒密码将这个单词加密。
凯撒密码是一种替换加密的技术,单词中的所有字母都在字母表上向后偏移 3 位后被替换成密文。即 a 变为 d,b 变为 e,⋯,w 变为z,x 变为 a,y 变为 b,z 变为 c。
输入描述
输入格式:
输入一行,包含一个单词,单词中只包含小写英文字母,单词中的字母个数不超过 100。
输出描述
输出一行,表示加密后的密文。
输入
lanqiao
输出
odqtldr
思路
凯撒加密相当于每个字母的ascii加3,当s[i]+3>'z’时,则用s[i] = s[i]+3-26表示,其他用 s[i] = s[i]+3表示。
代码
#include<iostream>
using namespace std;
int main()
{
string s;
cin>>s;
int i = 0;
while(s[i] != '\0'){
if(s[i]+3 > 'z') s[i] = s[i]-23;
else s[i] = s[i]+ 3;
i++;
}
cout<<s;
return 0;
}
总结
- 枚举字符串中每个的字母