本文主要是介绍【字母移位,解锁密码】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
密码是由原文字符串(由不超过 50 个小写字母组成)中每个字母向后移动 n 位形成的。z
的下一个字母是 a
,如此循环。他现在找到了移动前的原文字符串及 n,请你求出密码。
Input
第一行:n。第二行:未移动前的一串字母。
Output
一行,是此蒟蒻的密码。
Sample 1
Inputcopy | Outputcopy |
---|---|
1 qwe | rxf |
Hint
字符串长度 ≤50≤50,1≤�≤261≤n≤26。
思路:
1.(st[i]+n-'a')表示移动后与'a'的距离(是一个数字)
2. +'a'表示将数字再转换为字母
AC代码:
#include<bits/stdc++.h>
using namespace std;
int main()
{int n,t;char st[55];scanf("%d%s",&n,st);for(int i=0;i<strlen(st);i++){st[i]=(st[i]+n-'a')%26+'a'; //对于每个字母,向右移动n位后,算出与a的距离再模上26,即在一个字母表里移动的位置,再加上a,即最终的位置}printf("%s",st);return 0;}
//(st[i]+n-'a')表示移动后与'a'的距离(是一个数字)
//+'a'表示将数字再转换为字母
这篇关于【字母移位,解锁密码】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!