问题标题: 酷町堂:5542 解密(passport)

0
0
已解决
徐紫尘
徐紫尘
高级光能
高级光能
#include<iostream>
using namespace std;
string s,a;
int main(){
    cin>>s;
    for(int i=0;i<s.size();i++){
        if(s[i]=='a'){
            s[i]='x';
        }
        else if(s[i]=='b'){
            s[i]='y';
        }
        else if(s[i]=='c'){
            s[i]='z';
        }
        else if(s[i]=='A'){
            s[i]='X';
        }
        else if(s[i]=='B'){
            s[i]='Y';
        }
        else if(s[i]=='C'){
            s[i]='Z';
        }
        else{
            s[i]+=3;
        }
    }
    int t=0;
    for(int i=s.size()-1;i>=0;i--){
        a[t++]=s[i];
    }
    for(int i=0;i<s.size();i++) {
        s[i]=a[i];
    }
    for(int 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;
        }
    }
    cout<<s;
    return 0;
}

样例对了,为什么WA:0分,求找错


0
已采纳
杜智宸
杜智宸
中级光能
中级光能

大小写转换:

for(int i=0;i<s.size();i++){
    if(s[i]>='A'&&s[i]<='Z'){
        s[i]+=32;
    }
    else{
        s[i]-=32;
    }
}

移动位置:

for(int i=0;i<s.size();i++){
        if(s[i]=='z'){
            s[i]='c';
        }
        else if(s[i]=='y'){
            s[i]='b';
        }
        else if(s[i]=='x'){
            s[i]='a';
        }
        else if(s[i]=='Z'){
            s[i]='C';
        }
        else if(s[i]=='Y'){
            s[i]='B';
        }
        else if(s[i]=='X'){
            s[i]='A';
        }
        else{
            s[i]+=3;
        }
    }

最后倒序输出

完结撒花

0
李素妍
李素妍
新手天翼
新手天翼
循环(int i=0;i<s.size();i++){
        如果是小写{
            s[i]+=3;
            if(s[i]>'z')s[i]-=26;
        }
        如果是大写{
            s[i]+=3;
            if(s[i]>'Z')s[i]-=26;
        }
        两行:
           大小写转换
    }
    逆序输出字符串s(for){
        cout<<s[i];
    }

 

0
0
我要回答