环形解密(基础)
将26个英文字母按顺时针方向排成一个圆环。密钥是一个整数。
具体加密方法如下:
- 若密钥 key≥0,则从明文字母开始按顺时针方向走 ∣key∣ 步得到密文字母;
- 若密钥 key<0,则从明文字母开始按逆时针方向走 ∣key∣ 步得到密文字母。
请编写程序输入明文和密钥,输出密文。
输入格式
密文(小写字母) 密钥(任意整数)
输出格式
明文(小写字母)
#include<stdio.h>
int main()
{
unsigned char n;
int key;
scanf("%c %d",&n,&key);
key = key % 26;
n = n - key;
if(n > 'z')
{
n = n - 26;
}
else
{
if(n < 'a')
{
n = n + 26;
}
}
printf("%c",n);
return 0;
}
今天有事完成老师布置的每日一练的一天,今天的题目稍微有点难,一开始自己写完了,很长一串的代码,40多行,但是一半都没有对到,然后又是开启了漫长的修改之路,后来还是没想出来,就直接在网上搜了一个代码交上去了,直接满分,然后晚自习有再仔细研究我下午交上去的代码,知道了怎样的原理之后,修改了一下之前的代码,然后又自己重新写过了一个新的代码,交上去满分通过了,这也告诉我们,当我们写代码写到实在没有头绪的时候,就去看看别人写的正确的代码,然后知道思路之后再来写,这样也会让我们得写代码水平有所提高;