5、有一行电文,译码规律为: a ——> z b——> y c ——> x. 即把第一个字母变成第26个字母, 第i个字母变成第(26-i+1)个字母, 非字母字符不变

/*
有一行电文,译码规律为: a ——> z  b——> y  c ——> x.
即把第一个字母变成第26个字母,
第i个字母变成第(26-i+1)个字母,
非字母字符不变
 */
#include <stdio.h>
#include <stdlib.h>

void encode(char *pStr)
{
    char *p = pStr;
    while('\0' != *p)
    {
        if(*p >= 'a' && *p <= 'z')
            *p = 'a' + (26 - (*p - 'a') - 1);
        else if(*p >= 'A' && *p <= 'Z')
            *p = 'A' + (26 - (*p - 'A') - 1);
        ++ p;
    }
}

int main()
{
    char s[100];
    //char *p = 0;
    scanf("%s", s);
    encode(s);
    printf("%s", s);
    return 0;
}

posted @ 2021-09-22 21:10  叶梓渔  阅读(316)  评论(0)    收藏  举报