比较简单的一一对应关系
#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;
}