題目描述
輸入一串字元(長度不超過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,也就是字母字元形成乙個圓。輸入第一行是若干字元,以回車結束。輸入第二行是乙個整...