凯撒密码
2016-04-26 18:41
239 查看
<pre name="code" class="cpp">///凯撒密码: #include <iostream> #include <string.h> using namespace std; int main() { int k,t; char s[100]; while(1) { cout<<"输入明文:"<<endl; cin>>s; if(strcmp(s,"#")==0) break; cout<<"输入密钥:"<<endl; cin>>k; int l=strlen(s); for(int i=0;i<l;i++) { if(s[i]>='a'&&s[i]<='z') { t=(s[i]-'a'+1+k)%26; s[i]=(char)(t+'a'-1); } else if(s[i]>='A'&&s[i]<='Z') { t=(s[i]-'A'+1+k)%26; s[i]=(char)(t+'A'-1); } } cout<<"密文:"<<s<<endl; for(int i=0;i<l;i++) { if(s[i]>='a'&&s[i]<='z') { t=(s[i]-'a'+1-k+26)%26;\ if(t==0) t=26; s[i]=(char)(t+'a'-1); } else if(s[i]>='A'&&s[i]<='Z') { t=(s[i]-'A'+1-k+26)%26; if(t==0) t=26; s[i]=(char)(t+'A'-1); } } cout<<"解密得到明文:"<<s<<endl; } return 0; }
相关文章推荐