题库 高中信息

题干

小明编写了一个字符串加密程序,运行界面如图所示。功能如下:在文本框Text1中输入明文,在文本框Text2中输入密钥(密钥值在1到25之间),单击“加密”按钮Command1后,在标签Label1中输出密文。加密算法如下:

(1)若是字母,则将其变为按字母顺序往后数密钥个数的字母,若字母超过“Z”或“z”,则将其顺延到“A”或“a”后,大小写保持不变;若为其他字符,则保持不变,例如:
明文
Z
h
e
n
_
H
a
i
密钥
3
密文
C
k
h
q
_
K
d
l
 
(2)在步骤(1)的基础上,奇数位置的字符保持不变,偶数位置的字符逆序排列。
密文
C
l
h
K
_
q
d
k
 
实现上述功能的VB程序如下,加框处有错误,请改正。
Private Sub Command1_Click()
Dim a(1 To 100) As String
Dim s As String, i As Integer
Dim j As Integer, n As Integer
Label4.Caption = ""
s = Text1.Text
n = Val(Text2.Text)
i = 1
Do While i <= Len(s)
c = Mid(s, i, 1)
If c >= "A" And c <= "Z" Then
a(i) = Chr((Asc(c) - Asc("A") + n) Mod 26 + Asc("A"))
ElseIf c >= "a" And c <= "z" Then
a(i) = Chr((Asc(c) - Asc("a") + n) Mod 26 + Asc("a"))
Else
a(i) = c
End If
i = i + 1
Loop
j = Len(s) ‘①
For i = 2 To Len(s) \ 2 Step 2
t = a(i): a(i) = a(j): a(j) = t
j = j – 1 ‘②
Next i
For i = 1 To Len(s)
Label4.Caption = Label4.Caption + a(i)
Next i
End Sub
上一题 下一题 0.99难度 填空题 更新时间:2019-05-15 10:47:04

答案(点此获取答案解析)