描述
1、对输入的字符串进行加解密,并输出。
2、加密方法为:
当内容是英文字母时则用该英文字母的后一个字母替换,同时字母变换大小写,如字母a时则替换为B;字母Z时则替换为a;
当内容是数字时则把该数字加1,如0替换1,1替换2,9替换0;
其他字符不做变化。
3、解密方法为加密的逆过程。
本题含有多组样例输入。
输入描述:
输入说明
输入一串要加密的密码
输入一串加过密的密码
输出描述:
输出说明
输出加密后的字符
输出解密后的字符
示例1
输入:
abcdefg
BCDEFGH
复制
输出:
BCDEFGH
abcdefg
#include <stdio.h>
#include <string.h>
char encode(char a)
{
if(a>='a' && a<='z')
{
if(a == 'z')
{
return 'A';
}
return (a+1-'a'+'A');
}
else if(a>='A' && a<='Z')
{
if(a == 'Z')
{
return 'a';
}
return (a+1-'A'+'a');
}
else if(a>='0' && a<='9')
{
if(a == '9')
{
return '0';
}
return (a+1);
}
return a;
}
char decode(char a)
{
if(a>='a' && a<='z')
{
if(a == 'a')
{
return 'Z';
}
return (a-1-'a'+'A');
}
else if(a>='A' && a<='Z')
{
if(a == 'A')
{
return 'z';
}
return (a-1-'A'+'a');
}
else if(a>='0' && a<='9')
{
if(a == '0')
{
return '9';
}
return (a-1);
}
return a;
}
int main(int argc, char **argv)
{
char a[100] = {0};
char b[100] = {0};
char c[100] = {0};
while(scanf("%s", a) != EOF)
{
scanf("%s", b);
for(int i=0; i<strlen(a); i++)
{
printf("%c", encode(a[i]));
}
printf("\n");
for(int i=0; i<strlen(b); i++)
{
printf("%c", decode(b[i]));
}
printf("\n");
}
return 0;
}