问题 D: 习题6-12 解密

时间限制 : 1.000 sec 内存限制 : 12 MB

题目描述

有一行电文,已按如下规律译成密码:

A–>Z a–>z

B–>Y b–>y

C–>X c–>x

… …

即第一个字母变成第26个字母,第i个字母变成第(26-i+1)个字母,非字母字符不变。要求根据密码译回原文,并输出。

输入

输入一行密文

输出

解密后的原文,单独占一行。

样例输入 Copy

ZYX123zyx

样例输出 Copy

ABC123abc
int main() {
    
    
    int i,len;
    char str[50];
    scanf("%s",str);
    len=strlen(str);//\0前面的字符串的大小
    for(i=0;i<len;i++){
    
    
        if(str[i]>=65&&str[i]<=90){
    
    
            str[i]=155-str[i];
        }
        if(str[i]>=97&&str[i]<=122){
    
    
            str[i]=219-str[i];
        }

    }
    printf("%s",str);
    return 0;
}

猜你喜欢

转载自blog.csdn.net/ly_0123/article/details/114389478