题目内容:
在密码学中,恺撒密码(英语:Caesar cipher),或称恺撒加密、恺撒变换、变换加密,是一种最简单且最广为人知的加密技术。它是一种替换加密的技术,明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文。例如,当偏移量是3的时候,所有的字母A将被替换成D,B变成E,以此类推。这个加密方法是以罗马共和时期恺撒的名字命名的,当年恺撒曾用此方法与其将军们进行联系。偏移量为3时,明文与密文对应情况:
明文字母表:ABCDEFGHIJKLMNOPQRSTUVWXYZ
密文字母表:DEFGHIJKLMNOPQRSTUVWXYZABC
明文字母表:abcdefghijklmnopqrstuvwxyz
密文字母表:defghijklmnopqrstuvwxyzabc
请编写一个采用偏移量为3的凯撒加密算法加密程序,用户从键盘输入一个待加密的字母(大小写均可),程序输出对应的密文字母,如果用户输入的不是字母字符,则不对该字符加密(即:密文和原文一致)
输入格式:
在一行输入一个待加密的字母字符
输出格式:
和输入相对应的密文字母字符在单独的一行输出
输入样例1:
A
输出样例1:
D
输入样例2:
a
输出样例2:
d
输入样例3:
"
输出样例3:
"
时间限制:500ms内存限制:32000kb
#include <stdio.h>
#include <stdlib.h>
int main()
{
char c;
// printf("请输入待加密的字符");
scanf("%c" ,&c);
if((c >= 'a')&&(c <='z'))
{
printf("%c",(c - 'a' + 3)%26 + 'a');
}
else if((c >= 'A')&&(c <= 'Z'))
{
printf("%c",(c - 'A' + 3)%26 + 'A');
}
else
{
printf("%c\n",c);
}
return 0;
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。