Q: 小书童忘记了密码,只记得密码是由一串字母组成。且密码是由一串字母每个向后移动n形成。z的下一个字母是a,如此循环。他现在找到了移动前的那串字母及n,请你求出密码。(均为小写)
#include<bits/stdc++.h>
using namespace std;
char a[26],b[26];
int main()
{
int n,l;
cin>>n;
scanf("%s",a);
l=strlen(a);
for(int i=0;i<l;i++)
b[i]=(a[i]-'a'+n)%26+'a';
for(int i=0;i<l;i++)
cout<<b[i];
return 0;
注意://in[j]-'a':读入中对应的第几个字母的位置,比如'a'对应0,'b'对应1,'c'对应2(0开始);
//in[j]-'a'+n:读入中对应字母加上转移位数得到的字母的对应位置。
//取余26是防止移动位数超过26导致炸掉
//再加上'a',将对应位置还原成字母,再打出来