LiXinLong_LXL @ 2024-05-05 15:18:53
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
string a;
cin>>n>>a;
n%=26;
for(int i=0;i<a.size();i++){
a[i]+=n;
if(a[i]>'z'){
a[i]-=26;
}
cout<<a[i];
}
return 0;
}
by carbon_monoxide @ 2024-05-05 15:25:31
有没有一种可能,char最长127,加的时候炸了?
by LYRT_Subway @ 2024-05-05 15:27:59
by LiXinLong_LXL @ 2024-05-05 15:30:42
@carbon_monoxide 不可能吧,n小于等于26,字符串长度小于等于50。
by carbon_monoxide @ 2024-05-05 15:32:27
@LiXinLong_LXL 我是说,char存的最大字符的ASCII码是127,万一来个z+6不就炸了?
by LYRT_Subway @ 2024-05-05 15:33:23
@LiXinLong_LXL 因为有可能 'z'+25 之后就超出char的最大值127然后char就变成了负数 所以如果小于'a'也要减回26
by LiXinLong_LXL @ 2024-05-05 15:33:52
@LYRT_Subway AC了,感谢大佬!
by LiXinLong_LXL @ 2024-05-05 15:36:20
@carbon_monoxide && @LYRT_Subway 明白了。 感谢大佬指导!!!
by yyq0219 @ 2024-05-10 21:47:49
@LYRT_Subway 如果小于'a'还是小写字母吗
by LYRT_Subway @ 2024-05-10 21:56:43
@yyq0219 建议你看别的大佬的讲解 比我这个乱蒙答对的好多了
by yyq0219 @ 2024-05-11 20:16:39
@LYRT_Subway 好滴,谢谢!