注册 登录
编程论坛 C++教室

c++新手求解2. 寻找密码

ljp294777643 发布于 2020-10-15 22:21, 1776 次点击
2. 寻找密码
【问题描述】
小童有一天登陆网站时忘记密码了。小童虽然忘记密码,但他还记得密码是由一串字母组
成。且密码是由一串字母每个向后移动 n 为形成。z 的下一个字母是 a,如此循环。他现在找
到了移动前的那串字母及 n,请你求出密码。(均为小写)
说明:字符串长度<=50
【输入】
第一行:n。
第二行:未移动前的一串字母。
【输出】
一行,是小童的密码
【样例输入】
1
wer
【样例输出】
xfs
1 回复
#2
rjsp2020-10-16 09:14
C++
程序代码:
#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;
}


C
程序代码:
#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 );
}
1