下面是一个加密/解密程序。加密的算法是:将原文中每个字符的ASCII码加上该字符在原文中的位置数(设字符在原文中是第n个字符,则其位置数是n被10除的余数,当余数为0时,其位置数为10。例如,原文字符串为“meet me at sunset”,第一个字符“m”,其位置数为1,而“s”为第12个字符,其位置数是被10除的余数2,其余依次类推)作为密文字符的代码,再将密码字符逆序排列(例如ABCD,逆序排列为DCBA)即为密文。解密算法是加密算法的逆运算,运行效果如图所示:
(1)
如图所示,如果原文中字母“g”后面添加字母“h”,按“加密”按钮后,字母“h”对应的密文为: 。
(2)
实现上述功能的VB程序如下,请在划线处填入合适代码:
Private Sub Command1_Click( ) '加密
Dim enc As String, dec As
String, i As Integer
Dim s As String, n As Integer
dec= Text1. Text
For i=1 To Len(dec)
s=
n=i Mod 10
If n=0 Then n= 10
enc=Chr(Asc(s)+n) & enc
Next i
Text2. Text= enc
End Sub
Private Sub Command2_ Click( ) '解密
Dim enc As String, dec As
String, i As Integer
Dim n As Integer, s As String,
p As Integer
enc= Text2. Text
n= Len(enc)
For i=1 To n .
s=
Mid(enc, i, 1)
p=
If p=0 Then
dec= Chr(Asc(s)-p) & dec
Next i
Text1. Text= dec
End sub
答案: 【1】p
【1】mid(dec,i,1)【2】(n-i+ 1)mod 10【3】p=10