POJ 1298-The Hardest Problem Ever(Caesar 密碼)
阿新 • • 發佈:2018-11-19
-
POJ 1298-The Hardest Problem Ever(Caesar 密碼)
-
題目連結:
The Hardest Problem Ever
-
思路:
題目大意:
對訊息原文中的每個字母,分別用該字母之後的第5個字母替換(例如:訊息原文中的每個字母A都分別替換成字母F),其他字元不 變,並且訊息原文的所有字母都是大寫的
給定翻譯後的訊息,求原始資訊
題解:
注意一個坑就好了,一樣是迴圈,比如X可以變成C,
-
程式碼:
#include<iostream> #include<string> using namespace std; string Start = "START"; string End = "END"; string End_input = "ENDOFINPUT"; int main() { string Code_str; while (getline(cin,Code_str)) { if (Code_str == Start || Code_str == End) //跳過提示字串 continue; if (Code_str == End_input) break; int index=0; while (index != Code_str.length()) { if (Code_str[index] <= 'Z'&&Code_str[index] >= 'A') { if (Code_str[index] - 5 < 'A') Code_str[index] = 'Z' - (4 - (Code_str[index] - 'A')); else Code_str[index] -= 5; } cout << Code_str[index]; index++; } cout << endl; Code_str.clear(); } return 0; }