#包括<stdlib.h>
#包括<string.h>
const int的MAX_N = 200;
INT主(argc,焦炭*的argv [])
{
INT I,J,P;
?字符的文字[MAX_N];
?的char的字母表[30];
字符運算[10];
?
而(1)
?{
printf的(“1 ---輸入密碼表2 ---退出\ n”);
?得到(運);
(STRCMP(OP,“1”)== 0)
?{
?printf(“請密碼表”);
?得到(字母);
?
?而(1)
?{
?輸出(“1 --- 2加密 - 解密3 ---回報\ n);
?得到(運);
?
?(STRCMP(OP,“1”)== 0 | | STRCMP(OP,“2”)== 0)
?{
printf的(“請輸入文字:”);
得到(文本);
?
?(i = 0;文[I] ='\ 0';我+ +)
?
((文本[] ='A'&&文本[] ='Z')| |(文本[] ='A'&&文本[] ='Z' ))
(STRCMP(OP,“1”)== 0)
?
?,P =文本[] ='A'? (文本[] - “A”):([I] - 'A');
?文字[I]文字[我] +字母[P] - (P +'A');
?}
?其他
?
(J = 0; J + +)
?(字母[J] ==文字[我] | |字母[J] ==(文字[I] - (' A'-'A')))
;
?文本[] =文本[] ='A'? (J +'A'):(J +'A');
?}
?}
?} / /(我)
(STRCMP(OP,“1”)== 0)
?printf(“請加密的文本:”);
?其他
?printf(“請解密的文字:”);
輸出(“%s \ n \ n”,文本);
?}
?否則,如果(STRCMP(OP,“3”)== 0)
?{
輸出(“\ n”);
;
?}
?其他
?{
?輸出(“選擇,請重新選擇!\ n”);
?}
?} / /當(1)
?}
?
否則,如果(STRCMP(OP,“2”)== 0)
?{
?退出(1);
?}
?其他
?{
?輸出(“選擇,請重新選擇!\ n”);
?}
?}
返回0;
}
/ *
示例輸入
QWERTYUIOPASDFGHJKLZXCVBNM
歡迎到ZZSY2009?
輸出采樣
Vtsegdt ZG MMLN2009!
* /