3691 - Caesar加密

通过次数

0

提交次数

0

时间限制 : 1 秒 内存限制 : 128 MB

据说凯撒大帝是最初发明了加密的人,用于军队传递消息。方法是将字母表中的字母,用其后的第5个字母代替。
比如a用f代替,z用e代替。
编写解密程序,输入密文,对密文进行解密,并输出解密后的原文。
考虑大小写,即密文中的大写字母,解密后的原文仍然是大写,密文中的小写字母,解密后是小写。其他字符原文和密文都是一样的。
例如:输入密文为:N qtaj dtz!,输出的的原文为:I love you!

题目输入

题目输出

输入/输出样例

输入格式


                        

输出格式


                        

C语言解答

#include <stdio.h>
#include <string.h>
int main()
{
	int i,l;
	char a[100];
	gets(a);
	l=strlen(a);

	for(i=0;i<l;i++)
	{
	
		    if(a[i]=='a')
		    a[i]='v';
		    else if(a[i]=='b')
		    a[i]='w';
			else if(a[i]=='c')
		    a[i]='x';
		    else if(a[i]=='d')
		    a[i]='y';
		    else if(a[i]=='e')
		    a[i]='z';
		
		
			
		
		     else if(a[i]=='A')
		    a[i]='V';
		    else if(a[i]=='B')
		    a[i]='W';
		    else if(a[i]=='C')
		    a[i]='X';
		    else if(a[i]=='D')
		    a[i]='Y';
		    else if(a[i]=='E')
		    a[i]='Z';
		
		
		else if(a[i]==' ')
		{
			a[i]=' ';
		}
		else if(a[i]>='f'&&a[i]<='z'||a[i]>='F'&&a[i]<='Z')
		{
			a[i]-=5;
		}
	}
	puts(a);
	return 0;
}

C++解答

#include<iostream>
using namespace std;
int main()
{
	string a = "vwxyzabcdefghijklmnopqrstu";//密文转原文的表,小写
	string b = "VWXYZABCDEFGHIJKLMNOPQRSTU";//密文转原文的表,大写 
	char c;
	while(cin.get(c))
	{
		if(c>='a'&&c<='z')
		    cout<<a[c-'a'];
		else if(c>='A'&&c<='Z')
		    cout<<b[c-'A'];
		else
			cout<<c;
	}
	return 0;
}