Eternity_fantasy @ 2022-07-21 14:54:03
#include<iostream>
#include<string>
#include<cstring>
#include<cstdio>
using namespace std;
int main(){
int n;
cin>>n;
string a;
cin>>a;
for(int i=0;i<a.size();i++){
a[i]+=n;
if(a[i]>'z'){
a[i]=a[i]-26+1;
}
}
for(int i=0;i<a.size();i++){
cout<<a[i];
}
}
by xiexie1234 @ 2022-07-21 15:22:54
我的代码你看一下
#include<iostream>
#include<string>
using namespace std;
string s;
int main(){
int n;
cin>>n;
cin>>s;
for(int i=0;i<s.size();++i){
for(int j=1;j<=n;++j){
s[i]++;
if(s[i]>'z'){
s[i]='a';
}
}
}
cout<<s;
return 0;
}
by lonely_star @ 2022-07-30 19:27:44
要记得先判断再加数,否则会直接超 z无论加多少都是错的,所以一定要先减,先将n%26算出最小值,再加上n(我用了减(14行可以改成a[i]=a[i]-26+n也是是可以的))
#include<iostream>
#include<cstdio>
#include<cmath>
#include<string>
using namespace std;
int main(){
int n;
cin>>n;
string a;
cin>>a;
n=n%26;
for(int i=0;i<a.size();i++){
if(a[i]+n>'z'){
a[i]=a[i]-(26-n);
}else{
a[i]+=n;
}
}
cout<<a;
}
by lonely_star @ 2022-07-30 19:29:16
@xingyunshuo 注意要输出a而不是一个一个输出(数据太大容易超时)