题目内容:

在密码学中,恺撒密码(英语: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;
}

余教智
1 声望0 粉丝