1164 字串加密

2021-09-04 10:09:26 字數 797 閱讀 1690

題目描述

輸入一串字元(長度不超過100)和乙個正整數k,將其中的英文本母加密並輸出加密後的字串,非英文本母不變。加密思想:將每個字母c加乙個序數k,即用它後面的第k個字母代替,變換公式:c=c+k。如果字母為z,則後乙個字母是a,也就是字母字元形成乙個圓。
輸入

輸入第一行是若干字元,以回車結束。輸入第二行是乙個整數k,k是int範圍內的正整數;
輸出

輸出加密後的字串。
樣例輸入 copy

12kjsdzjk

280樣例輸出 copy

2edmxtde

提示 注意,即使通過模運算把k控制在小於26的範圍內,依然要考慮char型別溢位的問題,如』z』 + 10也會超出char的表示範圍。但慶幸的是,我們只需要考慮向記憶體儲存時的char型別溢位,而在計算過程中不會溢位,因為計算過程中char會被提公升為int型別。

#include#includeint main()

;    gets(a);

len=strlen(a);

scanf("%d",&k);

k=k%26;//計算實際前推多少位

for(i=0;i'z'&&a[i]<'a')||a[i]>'z')

a[i]=a[i];//除了字母其他不變

else

else}}

for(i=0;iprintf("%c",a[i]);

return 0;

}

1164 字串加密

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

1164 字串加密

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

ZZULIOJ 1164 字串加密

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