将26个英文字母按顺时针方向排成一个圆环。密钥是一个整数。
具体加密方法如下:
- 若密钥 key≥0,则从明文字母开始按顺时针方向走 ∣key∣ 步得到密文字母;
- 若密钥 key<0,则从明文字母开始按逆时针方向走 ∣key∣ 步得到密文字母。
请编写程序输入明文和密钥,输出密文。
输入格式
密文(小写字母) 密钥(任意整数)
输出格式
明文(小写字母)
#include<stdio.h>
int main()
{
int key;
char ch;
scanf("%c %d",&ch,&key);
key%=26;
if(ch>=97&&ch<='z') //使输入的字符是小写字母
{
ch='a'+(ch-'a'-key+26)%26; //-25=<ch-'a'-key<=50,+26保证为正数//ch='z'+(ch-'z'-key-26)%26
}
printf("%c",ch);
return 0;
}