《算法笔记》2.5小节——C/C++快速入门->数组->问题 D: 习题6-12 解密(oj:Codeup墓地)

版权声明:关中大侠Lv轻侯 https://blog.csdn.net/weixin_44312186/article/details/86604073

题目描述

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

A-->Z        a-->z

B-->Y        b-->y

C-->X        c-->x

......          ......

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

输入

输入一行密文

输出

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

样例输入

ZYX123zyx

样例输出

ABC123abc

参考代码:

#include<stdio.h>
#include<string.h>
int main(){
    char a[50];
    gets(a);
    for(int i=0;i<50;i++)
    {
        if('A'<=a[i]&&a[i]<='Z')
            a[i]='A'+'Z'-a[i];
        if('a'<=a[i]&&a[i]<='z')
            a[i]='a'+'z'-a[i];
        if('0'<a[i]<'9')
            a[i]=a[i];
    }
   puts(a);
}

猜你喜欢

转载自blog.csdn.net/weixin_44312186/article/details/86604073
今日推荐