贊助商連結


編碼問題

在第二次世界大戰中,德軍的通訊編碼被美國破解,以致於機密被美國竊聽而慘敗。德軍的編碼規則(假)如下:將訊息每個字母往後推兩位再傳出去,例如 A→C、B→D,而後面的 Y→A、Z→B,所有的訊息都是大寫字母。而收到訊息的則是將每個字母往前推兩位,例如 C→A、D→B,而前面的 A→Y、B→Z。假設你是美軍的情報軍,要快速編碼及解碼德軍的訊息,希望完成一個程式,第一個字元為 + 代表要編碼,第一個字元為 - 代表要解碼,程式執行如下(粉紅色為輸入、淺藍色為輸出):

+FIRE

HKTG

-UVQR

STOP

 

擷取.JPG

#include <iostream>

using namespace std ;

 

int main ()

 

{

           int w;

           char a[200];

 

           while(gets(a))

 

           {

                if(a[0]=='+') {for (w=1; w<strlen(a); w++) {a[w]+=2;}  cout <<"編碼輸出!"<<a <<"\n";}

                if(a[0]=='-') {for (w=1; w<strlen(a); w++) {a[w]-=2;}    cout <<"解碼輸出!"<<a <<"\n";}

                if(a[0]=='\0') {break;}

 

           }

 

           return 0;

}

創作者介紹

宇若彎彎

周宇若 發表在 痞客邦 PIXNET 留言(1) 人氣()


留言列表 (1)

發表留言
  • 狐 狸
  • 這個威!!