用VB编写字符串“密码破译”程序,其功能如下:在文本框Text1中输入任意一串字符串,字符串长度为n*n(n为自然数),单击“解密”按钮Command1,在文本框Text2中输出解锁密码。解锁密码破译步骤如下:将字符依次存储到数组a中,存储方式从左下向右上,平行于矩阵的对角线依次进行存储,以长度为36的字符串“Toleranceisthemental,YouSheng优胜一筹”为例,数组a元素对应的赋值情况如图a所示;将对角线字符从右上向左下依次相连即为解锁密码。程序运行效果如图b所示。
图 a 图 b 实现上述功能的 VB 程序如下,请回答下列问题:
(1)
若输入的字符串内容为“abcdefghijklmnopqrstuvwxy”,则破译后的解锁密码为。
(2)
请在划线处填写合适代码,使程序正常运行。
Private Sub Command1_Click()
Const n = 6
Dim a(1 To n * n) As Integer
Dim b(1 To n * n) As String
Dim i As Integer, j As Integer, k
As
Integer, s As String
Dim zf As Integer '变量zf存储数组a元素的值
Dim xb As Integer '变量xb存储数组a的下标
Dim p As Integer
For i = 1 To Len(Text1.Text)
b(i) = Mid(Text1.Text, i, 1)
Next i
k = 1
For i = 1 To n
k = k + (i - 1)
zf = k
a(xb) = zf
p = i + 1
For j = 2 To n
If j <= n - i + 1 Then
zf = zf + p
a(xb + j - 1) = zf
p = p + 1
Else
zf = zf + p
a(xb + j - 1) = zf
End If
Next j
Next i
For i = 1 To n
s = s +
Next i
Text2.Text = s
End
Sub
答案: 【1】onmlk
【1】xb=(i-1)*n+1【2】p=p- 1【3】b(a(i*n-i+1))