實驗9 9 字串加密

2021-10-16 08:14:41 字數 1225 閱讀 9155

任意給定乙個字串,與兩個編碼表,要求對該字串進行加密。字串中只包含大寫字母與小寫字母。編碼表是字母表的乙個重新排列,第乙個編碼表為大寫字母編碼表,第二個編碼表為小寫字母編碼表。

例如:字母表為:

(大寫字母表:abcdefghijklmnopqrstuvwxyz)

(小寫字母表:abcdefghijklmnopqrstuvwxyz)

編碼表為:

(大寫字母編碼表: jklmqryzabcistnopdghxefuvw)

(小寫字母編碼表: bcljakfxpdqweozrsthiymnguv)

編碼表的功能是根據字母在字母表中的序號,把該字母替換成編碼表中相應序號上的字母。

例如,字母『a』在字母表中序號為1,而大寫字母編碼表中序號為1的是字母『j』,因此『a』被編碼為『j』,而字串「acdza」將編碼為「jlmvb」。

字串加密過程:

首先把待加密字串中所有的字母改寫成該字母的下乙個字母,字母如果為『z』或『z』則分別改寫成字母『a』或『a』。然後將新得到的字串根據兩個編碼表進行編碼。編碼後的字串即為結果字串。

輸入與輸出要求: 輸入三個字串,第乙個字串為非空的待加密的字串,長度不大於100,該字串中只可能出現大寫字母與小寫字母。第二個字串為大寫字母編碼表,即26個大寫字母,每個大寫字母只能出現一次。第三個字串為小寫字母編碼表,即26個小寫字母,每個小寫字母只能出現一次。輸出結果字串,佔一行。

三個字串,第乙個字串為非空的待加密的字串,長度不大於100,該字串中只可能出現大寫字母與小寫字母。第二個字串為大寫字母編碼表,即26個大寫字母,每個大寫字母只能出現一次。第三個字串為小寫字母編碼表,即26個小寫字母,每個小寫字母只能出現一次。

結果字串,佔一行。

ilovelanguagec

opdghstabnryzc**klmixefuvw

hpzaeongxrbcljwtskfymdqiuv

nltqolpwgdpgog

#include

#include

intmain()

if(islower

(a[i]))

}printf

("%s"

,a);

return0;

}

u為大寫字母編碼表,l為小寫字母編碼表。注意整形與字元型的轉換。

1077 字串加密

time limit 1 sec memory limit 128 mb submit 5589 solved 2760 submit status web board 輸入一串字元 長度不超過100 和乙個正整數k,將其中的英文本母加密並輸出加密後的字串,非英文本母不變。加密思想 將每個字母c加乙...

1164 字串加密

題目描述 輸入一串字元 長度不超過100 和乙個正整數k,將其中的英文本母加密並輸出加密後的字串,非英文本母不變。加密思想 將每個字母c加乙個序數k,即用它後面的第k個字母代替,變換公式 c c k。如果字母為z,則後乙個字母是a,也就是字母字元形成乙個圓。輸入 輸入第一行是若干字元,以回車結束。輸...

1164 字串加密

void memset void s,int ch,size t n 函式解釋 將s中當前位置後面的n個位元組 typedef unsigned int size t 用 ch 替換並返回 s memset 作用是在一段記憶體塊中填充某個給定的值,它是對較大的結構體或陣列進行清零操作的一種最快方法 ...