程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 百練 2975 Caesar 密碼 解題報告

百練 2975 Caesar 密碼 解題報告

編輯:C++入門知識

鏈接:http://poj.grids.cn/practice/2975/

題目:

2975:Caesar 密碼

總時間限制:
1000ms
內存限制:
65536kB
描述
Julius Caesar 生活在充滿危險和陰謀的年代。為了生存,他首次發明了密碼,用於軍隊的消息傳遞。假設你是Caesar 軍團中的一名軍官,需要把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個數據集組成。每個數據集由3部分組成:
起始行:START
密碼消息:由1到200個字符組成一行,表示Caesar發出的一條消息
結束行:END
在最後一個數據集之後,是另一行:ENDOFINPUT
輸出
每個數據集對應一行,是Caesar 的原始消息。
樣例輸入
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 <iostream>
 #include <cstdio>
 #include <cstdlib>
 #include <cstring>
     END_STR[] =        
     
      str[],chs[     (gets(str),strcmp(str,END_STR) !=             length =         ( i = ; i < length; i++              (chs[i] >=  && chs[i] <= )    cout<<()((chs[i]--+)% +               cout<<          cout<<       
     
       }

思路:

1.用gets可每次讀入一行

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved