0
已解决
今天满心欢喜的看到了这道题目:https://ke.codingtang.com/#/problem/problemSub?id=7807
点进去发现跟https://ke.codingtang.com/#/problem/problemSub?id=2658这道题目有点像,于是就按照这道题目的方法做
试了第一个样例过了就提交了,所以喜提了一个WA0分
这是第一个0分代码:
string s;
int n;
int main(){
cin>>s>>n;
for(int i=0;i<s.length();i++){
if(s[i]>='A'&&s[i]<='Z'||s[i]>='a'&&s[i]<='z'){
if(s[i]+n<='Z'||s[i]+n<='z'){
s[i]+=n;
}else{
s[i]+=n-26;
}
}
}
cout<<s;
我试了第2个样例之后发现我没有区分大小写,于是我改了改我的代码
就出现了这样的输出:
这是样例:
样例2输入: antDZYO 30
样例2结果: erxHDCS
这是我的输出:
erxH^]S
这么神奇的输出由这段代码造成:
string s;
int n;
int main(){
cin>>s>>n;
for(int i=0;i<s.length();i++){
if(s[i]>='A'&&s[i]<='Z'){
if(s[i]+n<='Z'){
s[i]+=n;
}else{
s[i]+=(n-26);
}
}else if(s[i]>='a'&&s[i]<='z'){
if(s[i]+n<='z'){
s[i]+=n;
}else{
s[i]+=(n-26);
}
}
}
cout<<s;
有没有大佬来帮忙看看错在哪里
万睿言在2022-08-23 14:48:12追加了内容
@宋灏 你做这题了没