C语言凯撒加密是一种移位替代加密算法,即将字母表A-Z向左移位,然后用移位后的字母表替原来的明文得到密文
相应的加密、解密公式为:En(x)=(x+n)mod26Dn(x)=(x-n)mod26编写程序,实现对字符串的加密和解密功能,其中移位的值由用户输入。想了很久都没有想好...
相应的加密、解密公式为:
En(x) = (x+n) mod 26
Dn(x) = (x-n) mod 26
编写程序,实现对字符串的加密和解密功能,其中移位的值由用户输入。
想了很久都没有想好代码怎么打,希望高手帮帮忙 展开
En(x) = (x+n) mod 26
Dn(x) = (x-n) mod 26
编写程序,实现对字符串的加密和解密功能,其中移位的值由用户输入。
想了很久都没有想好代码怎么打,希望高手帮帮忙 展开
展开全部
#include <iostream>
#include <string>
using namespace std;
int main()
{
string code;//储存初始字符串
string d_code;//加密后的字符串
int i;
int n; //移位的个数
cout<<"Enter the string "<<endl;
cin>>code;
cout<<"how many step do you want to move ?"<<endl;
cin>>n;
for(i=0;i<code.size();++i)
{
if(int(code[i])>97)
{
if(int(code[i])+n>122)
d_code[i]=int(code[i])+n-26;
else
d_code[i]=int(code[i])+n;
}
else if(int(code[i])+n>90)
d_code[i]=char(int(code[i])+n-26);
else
d_code[i]=char(int(code[i]+n));
}
for(i=0;i<code.size();++i)
{
cout<<d_code[i];
}
cout<<endl;
cout<<"Code = "<<code<<endl;
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询