emm答案似乎是对的,可是就是不过。。。

P1914 小书童——凯撒密码

LQW332664203 @ 2019-07-30 17:17:22

#include <iostream>
#include <cstring>
using namespace std;
char a[51];
int n,i;
int main()
{
    cin >> n;
    cin.get();
    cin>>a;
    for (i=0;i<strlen(a);i++)
    {
        a[i]=(a[i]+n-'a'+1)%26+'a'-1;
        if ((a[i]-'a') == -1)
        a[i]='z';
    }
    cout << a;
    return 0;
 } 

by pomelo_nene @ 2019-07-30 17:19:57

为什么要用cin.get()


by LQW332664203 @ 2019-07-30 17:20:44

@C20211711刘君实1 第一个输入要把那个enter去掉吧


by 人间失格 @ 2019-07-30 17:21:37

@LQW332664203 a[i]=(a[i]+n-'a'+1)%26+'a'-1; if ((a[i]-'a') == -1) a[i]='z';

    为啥不是: a[i]=(a[i]-'a'+n)%26+'a'呢???

by LQW332664203 @ 2019-07-30 17:21:38

@C20211711刘君实1 不然无法输入第二行啊; 不信你试试;


by pomelo_nene @ 2019-07-30 17:22:00

@LQW332664203 不需要啊...注释掉就AC了


by LQW332664203 @ 2019-07-30 17:22:20

@人间失格 我是用1-26来做的 求26模


by pomelo_nene @ 2019-07-30 17:22:59

不需要亲测AC记录吧..


by LQW332664203 @ 2019-07-30 17:23:05

@C20211711刘君实1 这样的吗?


by LQW332664203 @ 2019-07-30 17:24:48

@C20211711刘君实1 为什么删了那个cin.get()就过了???????


by pomelo_nene @ 2019-07-30 17:25:36

@LQW332664203 cin不需要读回车

读字符串忽略回车,除非你用gets


| 下一页