会输出汉字

P1914 小书童——凯撒密码

fwz200810 @ 2023-07-08 17:00:01

#include<iostream>
#include<string>
using namespace std;
string s;
int n;
int main(){
    cin>>n>>s;
    n%=26;
    for(int i=0;i<s.length();i++){
        s[i]+=n;
        if (s[i]>'z') s[i]-=26;
        cout<<s[i];
    }
    return 0;
}

这个代码 n=25 s='xy' 会输出“憭”


by char_cha_ch @ 2023-07-08 17:06:36

这样的,s[i]可能会变成非小写的值。


by czwhaha @ 2023-08-20 15:05:28

@fwz200810 代码:(别Ctrl+c哦)

#include<bits/stdtr1c++.h>
using namespace std;
int main(){
    string a;
    int n;
    cin>>n;
    cin>>a;
    for(int i=0;i<a.length();i++){
        a[i]=(a[i]+n-'a')%26+'a';
        }
        cout<<a;
    return 0; 
}

|