本帖最后由 jackz007 于 2020-3-12 10:46 编辑 #include <stdio.h>
char encrypt(char c)
{
if(c >= 'A' && c <= 'Z') c = (c - 'A' + 4) % 26 + 'A' ;
else if(c >= 'a' && c <= 'z') c = (c - 'a' + 4) % 26 + 'a' ;
return c ;
}
char decrypt(char c)
{
if(c >= 'A' && c <= 'Z') c = (c - 'A' + 22) % 26 + 'A' ;
else if(c >= 'a' && c <= 'z') c = (c - 'a' + 22) % 26 + 'a' ;
return c ;
}
main(void)
{
char c , s[3][258] ;
int k , m ;
for(m = 0 ; (c = getchar()) != '\n' ; s[0][m ++] = c , s[0][m] = '\0') ;
for(k = 0 ; k < m ; k ++ , s[1][k] = '\0' , s[2][k] = '\0') {
s[1][k] = encrypt(s[0][k]) ;
s[2][k] = decrypt(s[1][k]) ;
}
printf("您输入的明文是【%s】\n" , s[0]) ;
printf("您得到的密文是【%s】\n" , s[1]) ;
printf("您得到的明文是【%s】\n" , s[2]) ;
}
编译、运行实况:C:\Bin>mw
Hello , World !
您输入的明文是【Hello , World !】
您得到的密文是【Lipps , Asvph !】
您得到的明文是【Hello , World !】
C:\Bin>
|