蓝桥杯省模拟之凯撒密码 C++实现

写在前面

最近有点懒,但是不能停止写博客,整理下前面一段时间在比赛中写的代码,一方面帮助自己学习,另一方面可以给观看此博客的你一点点算法上的思路,如代码有问题,请及时私信与我,我们相互一起学习学习。

问题描述

使用凯撒密码加密字符串
‘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;
	
}
发布了16 篇原创文章 · 获赞 3 · 访问量 510

猜你喜欢

转载自blog.csdn.net/weixin_43381566/article/details/105688204