将26个英文字母按顺时针方向排成一个圆环。密钥是一个整数。
具体加密方法如下:
- 若密钥 key≥0,则从明文字母开始按顺时针方向走 ∣key∣ 步得到密文字母;
- 若密钥 key<0,则从明文字母开始按逆时针方向走 ∣key∣ 步得到密文字母。
请编写程序输入密文和密钥,输出明文。
输入格式
密文(小写字母) 密钥(任意整数)
输出格式
明文(小写字母)
输入样例1
f 5
输出样例1
a
输入样例2
y -3
输出样例2
b
#include<stdio.h>
int main()
{
char n;
int m;
int k;
scanf("%c %d",&n,&m);
if(m>26||m<-26)m%=26;//超过26没意义,但不可以省去
if(m>=0)
{
k=n-m;
if(k<97)k+=26;
printf("%c",k);
}
if(m<0) {
k=n-m;
if(k>122)k-=26;
printf("%c",k);
}
return 0;
}