用VB生成20位随机字符,由大写字母和数字组成,每五位之间用符号“-”隔开

1个回答

  • 你这个算法有很大的问题:

    1 .Randomize只需一次就可以了

    2.你这里的T应该是0-2,你的程序没有对2进行判断

    3.实际循环一次只需产生一个随机数就可以了.

    下面我给你一个程序:

    Private Sub Command1_Click()

    N = 20

    Randomize

    For I = 1 To N 'N是指定长度

    t = Int(Rnd() * 36) '产生一个0-35的随机数,因为数字加字母总共36个.

    If t < 10 Then

    R = R & Chr(48 + t) '生成一个数字(随机数在0-9之间),也可写作:R = R & t

    Else

    R = R & Chr(65 - 10 + t) '生成一个大写字母(随机数在10-35之间)

    End If

    If (I Mod 5 = 0) And I N Then R = R & "-" '被5整除时,加上-号

    Next I

    Text1.Text = R '将结果输出在文本框中.

    End Sub

    '不好意思,刚才在N后面少一个空格