洛谷1419小书童

题目描述

密码是由原字符串(由不超过50个小写字母组成) 中每个字母向后移动n位形成,z的下一个字母是a,如此循环,请你求出密码。

 

 

#include <stdio.h>
int main()
{
    char in[100];
    int n, j;
    scanf("%d%s", &n, in); //读入
    for(j = 0; in[j] != '\0'; j++)
        putchar((in[j]-'a'+n)%26+'a');


    //in[j]-'a':读入中对应的第几个字母的位置,比如'a'对应0,'b'对应1,'c'对应2(0开始);
    //in[j]-'a'+n:读入中对应字母加上转移位数得到的字母的对应位置。
    //比如说'c'这个字母移动3位,就是第2个字母向右移动3个,就是第五个字母,即'f'
    //取余26是防止移动位数超过26导致炸掉
    //再加上'a',将对应位置还原成字母,再打出来
}

posted @ 2020-03-13 15:41  vkd  阅读(98)  评论(0)    收藏  举报