描述
小明和小伙伴们终于到达了锤锤森林,他们决定在森林奶茶店里休息一下继续出发,在休息时他们发现旁边的屏幕上会时不时的飘出一段英文字母(字母由大写字母和小写字母组成,字母个数不超过500),奶茶店老板是个特别有趣的服务员,他对小明
和小伙伴们说如果他们可以对这些字母迅速且准确的完成以下全部操作,他将会送给他们一个盲盒,操作如下:
1.大小写字母互转(例如:abXY操作后为ABxy)
2.所有的英文字母都在字母表中右移三个位置(例如:abz:a右移三个位置是d;b右移三个位置是e;z由于后面没有其他字母,这时会回到字母表首位继续移位,所以右移3位为c;所以abz操作后为dec)
3.逆序存储(例如:abcd操作后为dcba )
输入
输入共1行:
第1行,一行字符串即英文字母内容(长度小于500且只包含大小写字母)
输出
输出共1行:
第1行,一行字符串即完成全部操作后的英文字母内容。
输入样例 1
HAPpYBirtTDay
输出样例1
BDgwWULebSsdk
输入样例 2
HElloworld
输出样例2
GOURZROOhk
提示
【输入输出样例1说明】
原来的英文字母是HAPpYBirtTDay,经过操作1之后会变为hapPybIRTtdAY,再经过操作2之后会变为kdsSbeLUWwgDB,最后经过操作3之后会变为BDgwWULebSsdk
【输入输出样例2说明】
原来的英文字母是HElloworld,经过操作1之后会变为heLLOWORLD,再经过操作2之后会变为khOORZRUOG,最后经过操作3之后会变为GOURZROOhk
数据规模与约定:对于100%的数据,字符串的长度小于500.
代码在这:
#include<bits/stdc++.h>
using namespace std;
int main(){
int i;
string s;
cin>>s;
for(i=0;i<s.size();i++){
if(s[i]>='a'&&s[i]<='z'){
s[i]-=32;
}else if(s[i]>='A'&&s[i]<='Z'){
s[i]+=32;
}
}//大小写转换
for(i=0;i<s.size();i++){
if(s[i]>='a'&&s[i]<='w'){
s[i]+=3;
}else if(s[i]=='x'){
s[i]=(s[i]-23)+3;
}else if(s[i]=='y'){
s[i]=(s[i]-26)+3;
}else if(s[i]=='z'){
s[i]=(s[i]-25)+3;
}
}//右移(小写项)
for(i=0;i<s.size();i++){
if(s[i]>='A'&&s[i]<='W'){
s[i]+=3;
}else if(s[i]=='X'){
s[i]=(s[i]-23)+3;
}else if(s[i]=='Y'){
s[i]=(s[i]-26)+3;
}else if(s[i]=='Z'){
s[i]=(s[i]-25)+3;
}
}//右移(大写项)
for(i=s.size()-1;i>=0;i--){
cout<<s[i];
}//逆序存储并输出
return 0;
}
这是我的代码,有些错,总是0分,大家一起找找错,谢谢了!