比较简单的一一对应关系

#include<stdio.h>

char encode(char a)
{
    if(a == '9')
    {
        return '0';
    }
    if(a >= '0' && a < '9')
    {
        return a+1;
    }
    if(a == 'z')
    {
        return 'A';
    }
    if(a >= 'a' && a < 'z')
    {
        return a+'A'-'a'+1;
    }
    if(a == 'Z')
    {
        return 'a';
    }
    if(a >= 'A' && a < 'Z')
    {
        return a - 'A' + 'a' + 1;
    }
    return ' ';
}

char decode(char a)
{
    if(a == '0')
    {
        return '9';
    }
    if(a > '0' && a <= '9')
    {
        return a-1;
    }
    if(a == 'A')
    {
        return 'z';
    }
    if(a > 'a' && a <= 'z')
    {
        return a + 'A' - 'a' - 1;
    }
    if(a == 'a')
    {
        return 'Z';
    }
    if(a > 'A' && a <= 'Z')
    {
        return a - 'A' + 'a' - 1;
    }
    return ' ';
}

int main()
{
    char* str1 = (char *)malloc(sizeof(char)*1001);
    char* str2 = (char *)malloc(sizeof(char)*1001);
    scanf("%s", str1);
    scanf("%s", str2);
    int len1 = strlen(str1);
    int len2 = strlen(str2);
    int i;
    for(i = 0; i < len1; i++)
    {
        printf("%c", encode(str1[i]));
    }
    printf("\n");
    for(i = 0; i < len2; i++)
    {
        printf("%c", decode(str2[i]));
    }
    printf("\n");
    return 0;
}