加密字符串怎麼用?輸入一串字符(長度不超過100)和一個正整數k,将其中的英文字母加密并輸出加密後的字符串,非英文字母不變加密思想:将每個字母c加一個序數k,即用它後面的第k個字母代替,變換公式:c=c k如果字母為z,則後一個字母是a,也就是字母字符形成一個圓,我來為大家講解一下關于加密字符串怎麼用?跟着小編一起來看一看吧!
輸入一串字符(長度不超過100)和一個正整數k,将其中的英文字母加密并輸出加密後的字符串,非英文字母不變。加密思想:将每個字母c加一個序數k,即用它後面的第k個字母代替,變換公式:c=c k。如果字母為z,則後一個字母是a,也就是字母字符形成一個圓。
輸入輸入第一行是若幹字符,以回車結束。輸入第二行是一個整數k,k是int範圍内的正整數;
輸出輸出加密後的字符串。
樣例輸入
12kjsdZjk
280
12edmxTde
注意,即使通過模運算把k控制在小于26的範圍内,依然要考慮char類型溢出的問題,如'z' 10也會超出char的表示範圍。但慶幸的是,我們隻需要考慮向内存存儲時的char類型溢出,而在計算過程中不會溢出,因為計算過程中char會被提升為int類型。
代碼
#include<stdio.h>
int main()
{
char a[105];
int i,k;
gets(a);
scanf_s("%d",&k);
for(i=0;a[i]!='\0';i ){
if(a[i]>='a' && a[i]<='z')
printf("%c",(a[i]-'a' k)& 'a');
else if(a[i]>='A' && a[i]<='Z')
printf("%c",(a[i]-'A' k)& 'A');
else
printf("%c",a[i]);
}
printf("\n");
return 0;
}
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!