40分求助

P1914 小书童——凯撒密码

_O__o_ @ 2022-09-03 11:19:15

情况

#include<bits/stdc++.h>

using namespace std;
char a[50];
int main() {
    int n;
    cin >>n;
    cin >> a;
    int len = strlen(a);
    for(int j=0;j < len;j++){
        for(int i=0;i < n;i++){
            if(a[i] >= 'a' && a[i]<='z'){
                a[i] = int(a[i]) + 1;
                if(a[i] > 'z'){
                    a[i] = 'a';
                }
            }
    }
    }

    cout << a;

    return 0;
}

by Vickywei @ 2022-09-03 11:37:53

你这个第二重循环里

j需改成i

因为你修改的是a[j](j循环0-len)的值

而i循环的是1~n,也就是循环往后移动的位数

总结:第二层循环里的i要改成j,我试过了,AC了。下次变量注意不要写错了哦~


by _O__o_ @ 2022-09-03 11:45:22

@Vickywei 谢谢


|