目录
1.运行成果
通过ACILL码表中对应的字符标号输入,然后最终输出字符!
例:“I LOVE YOU” 编号为:73 32 76 79 86 69 32 89 79 85 输入-1代表结束。
2.完整代码
#include<stdio.h> #include<windows.h> int main() { int cnt[100]; int n=0; int number; //记录所有要转换成字母的数字 while(1) { scanf("%d",&number); if(number==-1)break; cnt[n++]=number; } //将记录下来的数字转换成ACILL码表中的字母 int i; for(i=0;i<n;i++) { char tran; tran=cnt[i]; printf("%c",tran); } printf("\n"); system("pause"); return 0; }
3.ACILL码表
ASCII码表
ASCII值
控制字符
ASCII值
控制字符
ASCII值
控制字符
ASCII值
控制字符
0
NUL
32
(space)
64
@
96
、
1
SOH
33
!
65
A
97
a
2
STX
34
”
66
B
98
b
3
ETX
35
#
67
C
99
c
4
EOT
36
$
68
D
100
d
5
ENQ
37
%
69
E
101
e
6
ACK
38
&
70
F
102
f
7
BEL
39
'
71
G
103
g
8
BS
40
(
72
H
104
h
9
HT
41
)
73
I
105
i
10
LF
42
*
74
J
106
j
11
VT
43
+
75
K
107
k
12
FF
44
,
76
L
108
l
13
CR
45
-
77
M
109
m
14
SO
46
.
78
N
110
n
15
SI
47
/
79
O
111
o
16
DLE
48
0
80
P
112
p
17
DCI
49
1
81
Q
113
q
18
DC2
50
2
82
R
114
r
19
DC3
51
3
83
X
115
s
20
DC4
52
4
84
T
116
t
21
NAK
53
5
85
U
117
u
22
SYN
54
6
86
V
118
v
23
TB
55
7
87
W
119
w
24
CAN
56
8
88
X
120
x
25
EM
57
9
89
Y
121
y
26
SUB
58
:
90
Z
122
z
27
ESC
59
;
91
[
123
{
28
FS
60
<
92
\
124
|
29
GS
61
=
93
]
125
}
30
RS
62
>
94
^
126
~
31
US
63
?
95
—
127
DEL
4.加密版本
这里需要用到逻辑运算-->异或(^);你可以随机异或一个数字:假设让x=number^520
那么:number=x^520; 一个数连续异或两次就变回原来的数字了,所以假设如果你让ACILL码表对应的数字异或520,那么就要在程序中加一行:number=number^520;
#include<stdio.h> #include<windows.h> int main() { int cnt[100]; int n=0; int number; //记录所有要转换成字母的数字 while(1) { scanf("%d",&number); if(number==-1)break; number=number^520; printf("%d",number); cnt[n++]=number; } //将记录下来的数字转换成ACILL码表中的字母 int i; for(i=0;i<n;i++) { char tran; tran=cnt[i]; printf("%c",tran); } printf("\n"); system("pause"); return 0; }