简单密码

发布时间:2024-11-13 13:10

简单密码

最新推荐文章于 2024-10-09 22:27:38 发布

远去的栀子花 于 2016-03-15 23:18:44 发布

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

题目描述:

Julius Caesar曾经使用过一种很简单的密码。
对于明文中的每个字符,将它用它字母表中后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组。每组数据都有如下的形式,而且各组测试数据之间没有空白的行。
一组测试数据包括三部分:
1.    起始行 - 一行,包括字符串 "START" 
2.    密文 - 一行,给出密文,密文不为空,而且其中的字符数不超过200
3.    结束行 - 一行,包括字符串 "END" 
在最后一组测试数据之后有一行,包括字符串 "ENDOFINPUT"。

输出:

对每组数据,都有一行输出,给出密文对应的明文。

样例输入:

START NS BFW, JAJSYX TK NRUTWYFSHJ FWJ YMJ WJXZQY TK YWNANFQ HFZXJX END START N BTZQI WFYMJW GJ KNWXY NS F QNYYQJ NGJWNFS ANQQFLJ YMFS XJHTSI NS WTRJ END START IFSLJW PSTBX KZQQ BJQQ YMFY HFJXFW NX RTWJ IFSLJWTZX YMFS MJ END ENDOFINPUT 样例输出:

IN WAR, EVENTS OF IMPORTANCE ARE THE RESULT OF TRIVIAL CAUSES I WOULD RATHER BE FIRST IN A LITTLE IBERIAN VILLAGE THAN SECOND IN ROME

DANGER KNOWS FULL WELL THAT CAESAR IS MORE DANGEROUS THAN HE

#include<stdio.h>

#include<string.h>

#include<stdlib.h>

char convert(char a)

{

int x = a - 'A';

char buf[26] = {'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'};

return buf[x];

}

int main(){

char s[20],m[201],e[20],len,i;

while(gets(s) != NULL && strcmp(s,"ENDOFINPUT") != 0)

{

gets(m);

gets(e);

len=strlen(m);

for(i=0;i<len;i++)

{

if(m[i]>='A'&&m[i]<='Z')

{

m[i] = convert(m[i]);

}

}

puts(m);

}

return 0;

}

网址:简单密码 https://www.yuejiaxmz.com/news/view/66354

相关内容

WiFi密码修改全攻略:从登录到设置,轻松完成密码更改
AI+社交=百万下载密码
掌握健身“密码”,事半功倍
《生活圈》 20240916 金秋养生好时节 解锁“快乐密码”
设置客户端连接PostgreSQL不需要密码
身份证里的性别密码:一数即知男女别
简单动作全身锻炼,提升健康的秘密!
【工会动态】积极心理调适 寻找幸福密码
推拿,中医院吸引年轻人的流量密码
Android Studio实现简单的健身系统

随便看看