|
发表于 2019-10-16 16:38:19
|
显示全部楼层
本帖最后由 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]) ;
- }
复制代码 |
|