【加试题】小迪同学在某网站注册时需要预设登录密码,预设密码需要符合以下2点:①密码不少于6位字符组成;②必须同时包含大写英文字母、小写英文字母、阿拉伯数字和标点符号。据此,小迪同学编写了生成密码的VB程序,程序运行界面如下图a所示,当点击“生成密码”按钮(command1)时,在文本框Text1中输出符合要求的密码字符。图a图b为标准ASCII码表供你参考(其中ASCII为1-32,127的字符为特殊符号,不能用作密码):图b实现上述功能的VB程序代码如下,请回答以下问题:
(1)
以下字符串不可能是上述程序生成的密码的一项是。(填数字序号)①H2?N64Aj ②[26wv9,Q ③$14G/uv ④zX}rb!T&}d2
(2)
请在划线处填入合适的代码。Private Sub Command1Click()Dim t As IntegerDim a(1 To 4) As Integerflag = Truen = 0pwd = ""RandomizeDo While flag t = ' 随机生成33-126的ASCII码 pwd = pwd + Chr(t) s = 0 For i = 1 To 4 s = s + a(i) Next i n = n + 1 If n >= 6 And s = 4 Then LoopText1.Text = pwdEnd Sub‘ 获取字符类型:1-小写字母,2-大写字母,3-阿拉伯数字,4-符号Function check(x As Integer) As Integer If x >= 97 And x <= 122 Then check = 1 ElseIf x >= 65 And x <= 90 Then check = 2 ElseIf x >= 48 And x <= 57 Then check = 3 Else check = 4 End IfEnd Function
答案: 【1】③
【1】33 + Int(Rnd * 94)【2】a(check(t)) = 1【3】flag = False