题解
2024-03-22 19:43:23
发布于:广东
8阅读
0回复
0点赞
本以为很简单,却全是wa
第一次:
#include <iostream>
using namespace std;
int main(){
string s;
cin>>s;
for(int i=0;i<s.size();i++){
if(s[i]>='a' && s[i]<='y' || s[i]>='A' && s[i]<='Y'){
s[i]+=1;
}
else if(s[i]=='z' || s[i]=='Z'){
s[i]-=25;
}
}
cout<<s;
return 0;
}
经过两个半分钟的思考,发现:
我tm的输入包含空格
所以有了下面的解题
#include <iostream>
using namespace std;
int main(){
string s;
getline(cin,s);//包含空格输入函数
for(int i=0;i<s.size();i++){
if(s[i]>='a' && s[i]<='y' || s[i]>='A' && s[i]<='Y'){
s[i]+=1;
}
else if(s[i]=='z' || s[i]=='Z'){
s[i]-=25;
}
}
cout<<s;
return 0;
}
感谢geline,感谢c++
如果没有getline:
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int main(){
char a[1000];
gets(a);
int len = strlen(a);
int n=1;
for(int i=0;i<len;i++){
if(a[i]>='A' and a[i]<='Z'-n){
a[i]=a[i]+n;
}
else if(a[i]>='a' and a[i]<='z'-n){
a[i]=a[i]+n;
}
else if(a[i]>'Z'-n and a[i]<='Z'){
a[i]=a[i]-(26-n);
}
else if(a[i]>'z'-n and a[i]<='z'){
a[i]=a[i]-(26-n);
}
}
cout<<a;
return 0;
}
注:此代码由法兰西玫瑰提供,特此感谢。但不代表全部为法兰西玫瑰提供,仅为上面代码
我和“进步的蜗牛”的小伙伴都在ACGO等你,快用这个专属链接加入我们吧!点击
这里空空如也
有帮助,赞一个