【每日例题】蓝桥杯 C语言 凯撒加密
凯撒加密
题目
题目描述
给定一个单词,请使用凯撒密码将这个单词加密。
凯撒密码是—种替换加密的技术,单词中的所有字母都在字母表上向后偏移3位后被替换成密文。即α变为d, b变为e,·,w变为z,Z变为a,g变为b,z变为c。
输入描述
输入格式:
输入一行,包含一个单词,单词中只包含小写英文字母,单词中的亨母个数不超过100.
输出描述
输出—行,表示加密后的密文。
输入输出样例
示例
输入输出样例
示例
输入
lanqiao
输出
odqtldr
运行限制
。最大运行时间:1s·最大运行内存:256M
思路分析
题目要求:
1.单词中的所有字母都在字母表上向后偏移 3 位后被替换成密文。即 a 变为 d,b 变为 e,⋯,w 变为z,x变为 a,y 变为 b,z 变为 c。
2.单词中只包含小写英文字母,单词中的字母个数不超过 100
思路分析:
1.建立数组,输入字符串,数组最大容纳限度为99。
2.使用if判断输入字符串是否都为小写字母。
3.每位字母ascll码往后移动三位,若字母为x,y,z则变为a,b,c。
4.输出按数组形式输出。
#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;
}

浙公网安备 33010602011771号