【每日例题】蓝桥杯 C语言 凯撒加密

凯撒加密

题目

题目描述
给定一个单词,请使用凯撒密码将这个单词加密。
凯撒密码是—种替换加密的技术,单词中的所有字母都在字母表上向后偏移3位后被替换成密文。即α变为d, b变为e,·,w变为z,Z变为a,g变为b,z变为c。
输入描述
输入格式:
输入一行,包含一个单词,单词中只包含小写英文字母,单词中的亨母个数不超过100.
输出描述
输出—行,表示加密后的密文。
输入输出样例
示例

输入输出样例
示例
输入
lanqiao
输出
odqtldr
运行限制
。最大运行时间:1s·最大运行内存:256M

思路分析

题目要求:

1.单词中的所有字母都在字母表上向后偏移 3 位后被替换成密文。即 a 变为 db 变为 e,⋯,w 变为zx变为 ay 变为 b,z 变为 c

2.单词中只包含小写英文字母,单词中的字母个数不超过 100

思路分析:

1.建立数组,输入字符串,数组最大容纳限度为99。

2.使用if判断输入字符串是否都为小写字母。

3.每位字母ascll码往后移动三位,若字母为x,y,z则变为a,b,c。

4.输出按数组形式输出。

代码(C语言)

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include<stdio.h>
#include<string.h>
int main()
{
    int i,l;
    char ch[99];
    gets(ch);
    l=strlen(ch);
    for(i=0;i<l;i++)
    {
        if((ch[i]>='a')&&(ch[i]<='z'))
        {
            if((ch[i]>='a')&&(ch[i]<='w'))
            {
                ch[i]+=3;
            }
            else if(ch[i]=='x')
            {
                ch[i]='a';
            }
            else if(ch[i]=='y')
            {
                ch[i]='b';
            }
            else if(ch[i]=='z')
            {
                ch[i]='c';
            }
        }
        else
        {
            return 0;
        }
    }
    for(i=0;i<l;i++)
    {
        printf("%c",ch[i]);
    }
     return 0;
 }

  

posted @   山远尽成云  阅读(383)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示