注意了!!!

P1914 小书童——凯撒密码

Arilk @ 2024-07-01 10:10:37

#include<bits/stdc++.h>
using namespace std;

string a;
int n;

int main(){
    cin>>n>>a;
    for(int i=0;i<a.length();i++){
        a[i]+=n;
        if(a[i]>'z'){
            a[i]-=26;   
        }
    }
    cout<<a;
    return 0;
}

如果你像我这么写的话,那你就会3,4测试点WA掉。 这是因为在这里

a[i]+=n;
//a[i]='z',n=26

a[i]+n>128,造成数据(char、string)溢出。


by __Beyond__ @ 2024-07-15 22:03:49

较有说服力的


|