C语言 给定一段密码,请将其译成原文并输出。

题目描述
有一行电文,已经按照如下规则译成了密码:
A->Z a->z
B->Y b->y
C->X c->x
… …
… …
即第1个字母变换成第26个字母,第i个字母变换成第(26-i+1)个字母。非字母字符不变。给定一段密码,请将其译成原文并输出。

输入描述
一行密码,包含各种可见字符,保证长度不超过100。

输出描述
如题目描述中密码翻译规则译出的原文。
请注意行尾输出换行。

你题目的解答代码如下:

#include<stdio.h>
int main()
{
    char ch;
    do
    {
        ch=getchar();
        if(ch>='a' && ch<='z')
            ch = 'z'-ch+'a';
        else if(ch>='A' && ch<='Z')
            ch = 'Z'-ch+'A';
        printf("%c",ch);
    } while (ch!='\n' && ch!=EOF);
    return 0;
}

img

如有帮助,望采纳!谢谢!