凯撒密码问题C语言程序

本文介绍如何使用C语言解决凯撒密码问题。凯撒密码是一种古老的加密方法,通过将字母替换为字母表中固定位数后的字母进行加密。文章提供了C语言代码实现,能够读取加密后的消息并还原成原始消息。代码虽然能完成基本的解密,但最初版本缺乏输入验证功能。经过改进,最终版代码增加了对START、END、ENDOFINPUT标记的正确性检查。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

凯撒密码问题C语言程序

据说最早的密码来自于罗马的凯撒大帝。消息加密的办法是:对消息原文中的每个字母,分别用该字母之后的第5个字替换(例如:消息原文中的每个字母A都分别替换成字母F)。而你要做的消息原文,也就是要这个过程反过来。
密码字母:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
原文字母:V W X Y Z A B C D E F G H I J K L M N O P Q R S T U
(注意:只是字母发生替换,其他非字母的字符不变,并且消息原文的所有字母都是大写。)
要求:
输入:最多不超多100分数据集组成,每个数据集之间不会有空行,每个数据集由3部分组成:
1.起始行:START
2.密码消息:由1到200个字符组成一行,表示凯撒发出的一条消息
3.结束行END
在最后一个数据集之后,是另起一行:ENDOFINPUT。
输出:是每个数据集对应一行,是凯撒的原始消息。

输出结果

代码如下:

#include<stdio.h>
#include<string.h>
int main()
{
	char str1[200];   //定义明文长度
	char str2[10][200]={};   //定义密文长度
	char tmp[20];   
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值