#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",n);
return 0;
}
对于key=key%26表示的是对于这个数来说,嗯,百分号26是这个数除以26%取余,因为a到z的话,他是26个字母,然后进行26的循环,然后取余的话,它的圈数就只剩一圈,圈数较少,key在进行除以26取的情况下,它的范围变成了-25到25。
对于第一个条件n大于字母z,如果n字母大于字母z的话,他就要减去26,例如当n等于z时key为负值时,取值的范围是超出了a到z的范围与此同时,第二个条件n小于字母a如果n字母小于字母a的话,他就要加26,使它的范围在a到z之内,。
如果两个条件都不符合的话,说明字母a是属于a到z的范围内,就直接输出
对于某些程序来说,我们需要注意它的输入的格式是先字母还是先数字。
空格也是需要注意的
“21天养成好习惯”第一期-2
最新推荐文章于 2021-11-12 23:20:17 发布