凯撒密码
1125: 愷撒密碼
Time Limit: 1 SecMemory Limit: 128 MB
Description
愷撒生活在充滿危險和陰謀的時代. 愷撒面對的最困難的問題是生存. 為了生存, 他決定創造一種密碼. 這種密碼聽起來難以置信, 如果不知
道方法, 沒有人可以破解.
你是愷撒軍隊的一個上尉. 你的工作是解密消息并將之提供給將軍. 密碼很簡單. 對明文的每個字母右移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 
只有字母需要移位, 其它字符保持不變, 所有字母均是大寫. 
Input
輸入為至多100組數據. 每組數據有如下格式, 中間無空行.
一組數據有3部分:
起始行 - 單獨一行: "START" 
密文 - 單獨一行, 包含1到200個字符, 組成愷撒的消息. 
結束行 - 單獨一行: "END" 
最后一組輸入是單獨一行: "ENDOFINPUT".
Output
對每組數據有一行輸出. 即愷撒的原始消息.
Sample Input
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
Sample Output
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
HINT
Source
吉首大學軟件學院
 1 #include <stdio.h>
 2 #include <string.h>
 3 int main()
 4 {
 5     char a[202],c[11],d[10];
 6     while(gets(c))
 7     {
 8         if(strcmp(c,"ENDOFINPUT")==0)
 9             return 0;
10         gets(a);
11         gets(d);
12         int n=strlen(a);
13         for(int i=0; i<n; i++)
14         {
15             if(a[i]>='F'&&a[i]<='Z')
16             {
17                 printf("%c",a[i]-5);
18             }
19             else if(a[i]>='A'&&a[i]<='E')
20             {
21                 printf("%c",a[i]+26-5);
22             }
23             else
24                 printf("%c",a[i]);
25         }
26         printf("
");
27     }
28     return 0;
29 }
                            總結
 
                            
                        - 上一篇: 空调机显示26℃,海尔智家程序显示25℃
- 下一篇: 铝合金门窗多少钱 了解铝合金门窗的价格和
