【每日例题】蓝桥杯 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语言)

 

#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 @ 2023-10-28 15:20  山远尽成云  阅读(448)  评论(0)    收藏  举报