首页 > 试题广场 >

字符串的反码

[编程题]字符串的反码
  • 热度指数:6653 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 64M,其他语言128M
  • 算法知识视频讲解
    一个二进制数,将其每一位取反,称之为这个数的反码。下面我们定义一个字符的反码。如果这是一个小写字符,则它和字符'a’的距离与它的反码和字符'z’的距离相同;如果是一个大写字符,则它和字符'A’的距离与它的反码和字符'Z’的距离相同;如果不是上面两种情况,它的反码就是它自身。     举几个例子,'a’的反码是'z’;'c’的反码是'x’;'W’的反码是'D’;'1’的反码还是'1’;'$'的反码还是'$'。     一个字符串的反码定义为其所有字符的反码。我们的任务就是计算出给定字符串的反码。

输入描述:
    输入是一个字符串,字符串长度不超过 80 个字符。


输出描述:
输出其反码
示例1

输入

Hello

输出

Svool
示例2

输入

JLU-CCST-2011 

输出

QOF-XXHG-2011
#include <stdio.h>

int main() {
    char s[80];
    scanf("%s",s);
    for(int i=0;s[i]!='\0';i++){
        switch(s[i]){
            case 'a':s[i]='z';break;
            case 'b':s[i]='y';break;
            case 'c':s[i]='x';break;
            case 'd':s[i]='w';break;
            case 'e':s[i]='v';break;
            case 'f':s[i]='u';break;
            case 'g':s[i]='t';break;
            case 'h':s[i]='s';break;
            case 'i':s[i]='r';break;
            case 'j':s[i]='q';break;
            case 'k':s[i]='p';break;
            case 'l':s[i]='o';break;
            case 'm':s[i]='n';break;
            case 'n':s[i]='m';break;
            case 'o':s[i]='l';break;
            case 'p':s[i]='k';break;
            case 'q':s[i]='j';break;
            case 'r':s[i]='i';break;
            case 's':s[i]='h';break;
            case 't':s[i]='g';break;
            case 'u':s[i]='f';break;
            case 'v':s[i]='e';break;
            case 'w':s[i]='d';break;
            case 'x':s[i]='c';break;
            case 'y':s[i]='b';break;
            case 'z':s[i]='a';break;
            case 'A':s[i]='Z';break;
            case 'B':s[i]='Y';break;
            case 'C':s[i]='X';break;
            case 'D':s[i]='W';break;
            case 'E':s[i]='V';break;
            case 'F':s[i]='U';break;
            case 'G':s[i]='T';break;
            case 'H':s[i]='S';break;
            case 'I':s[i]='R';break;
            case 'J':s[i]='Q';break;
            case 'K':s[i]='P';break;
            case 'L':s[i]='O';break;
            case 'M':s[i]='N';break;
            case 'N':s[i]='M';break;
            case 'O':s[i]='L';break;
            case 'P':s[i]='K';break;
            case 'Q':s[i]='J';break;
            case 'R':s[i]='I';break;
            case 'S':s[i]='H';break;
            case 'T':s[i]='G';break;
            case 'U':s[i]='F';break;
            case 'V':s[i]='E';break;
            case 'W':s[i]='D';break;
            case 'X':s[i]='C';break;
            case 'Y':s[i]='B';break;
            case 'Z':s[i]='A';break;
        }
    }
    printf("%s",s);
}

发表于 2025-02-28 09:50:09 回复(0)