本帖最后由 jackz007 于 2019-10-16 16:44 编辑 #include<stdio.h>
#include<string.h>
int main(void)
{
int k ;
char s[3][256] ;
/* 下面从键盘读取字符串到 s[0] */
printf("input some char:\n") ;
fgets(s[0] , 256 , stdin) ;
s[0][strlen(s[0]) - 1] = '\0' ;
/* 下面加密 s[0] 到 s[1] */
for(k = 0 ; k < strlen(s[0]) ; k ++) {
s[1][k] = s[0][k] ;
if((s[0][k] >= 'A' && s[0][k] <= 'Z') || (s[0][k] >= 'a' && s[0][k] <= 'z')) {
if((s[0][k] >= 'W' && s[0][k] <= 'Z') || (s[0][k] >= 'w' && s[0][k] <= 'z')) s[1][k] -= 22 ;
else s[1][k] += 4 ;
}
}
s[1][strlen(s[0])] = '\0' ;
/* 下面解密 s[1] 到 s[2] */
for(k = 0 ; k < strlen(s[1]) ; k ++) {
s[2][k] = s[1][k] ;
if((s[1][k] >= 'A' && s[1][k] <= 'Z') || (s[1][k] >= 'a' && s[1][k] <= 'z')) {
if((s[1][k] >= 'A' && s[1][k] <= 'D') || (s[1][k] >= 'a' && s[1][k] <= 'd')) s[2][k] += 22 ;
else s[2][k] -= 4 ;
}
}
s[2][strlen(s[1])] = '\0' ;
/* 下面循环显示 s[0]~s[2] 的内容 */
for(k = 0 ; k < 3 ; k ++) printf("s[%d] = %s\n" , k , s[k]) ;
}
|