c++新手求解2. 寻找密码
2. 寻找密码【问题描述】
小童有一天登陆网站时忘记密码了。小童虽然忘记密码,但他还记得密码是由一串字母组
成。且密码是由一串字母每个向后移动 n 为形成。z 的下一个字母是 a,如此循环。他现在找
到了移动前的那串字母及 n,请你求出密码。(均为小写)
说明:字符串长度<=50
【输入】
第一行:n。
第二行:未移动前的一串字母。
【输出】
一行,是小童的密码
【样例输入】
1
wer
【样例输出】
xfs
#include <iostream> #include <string> #include <algorithm> using namespace std; int main( void ) { unsigned n; string s; cin >> n >> s; std::for_each( begin(s), end(s), [=](auto& c){c=(c-'a'+n)%26+'a';} ); cout << s << endl; }
#include <stdio.h> int main( void ) { unsigned n; char s[51]; scanf( "%u%s", &n, s ); for( char* p=s; *p; ++p ) *p = (*p-'a'+n)%26 + 'a'; puts( s ); }