早教吧作业答案频道 -->数学-->
用VB生成20位随机字符,由大写字母和数字组成,每五位之间用符号“-”隔开我用了下面这段代码:PrivateSubCommand1Click()N=20ForI=1ToN'N是指定长度RandomizeT=Int(Rnd()*3)SelectCaseTCase0RandomizeR
题目详情
用VB生成20位随机字符,由大写字母和数字组成,每五位之间用符号“-”隔开
我用了下面这段代码:
Private Sub Command1_Click()
N = 20
For I = 1 To N 'N是指定长度
Randomize
T = Int(Rnd() * 3)
Select Case T
Case 0
Randomize
R = R & Chr(Int(Rnd() * 25) + 65) '生成一个大写字母
Case 1
Randomize
R = R & Chr(Int(Rnd() * 9) + 48) '生成一个数字
End Select
Next I
Text1.Text = R '将结果输出在文本框中.
End Sub
这段代码有两个问题:
1.生成的位数不正确,好像是随机位数,很少有20位的.
2.每五位之间没有符号“-”隔开.
我用了下面这段代码:
Private Sub Command1_Click()
N = 20
For I = 1 To N 'N是指定长度
Randomize
T = Int(Rnd() * 3)
Select Case T
Case 0
Randomize
R = R & Chr(Int(Rnd() * 25) + 65) '生成一个大写字母
Case 1
Randomize
R = R & Chr(Int(Rnd() * 9) + 48) '生成一个数字
End Select
Next I
Text1.Text = R '将结果输出在文本框中.
End Sub
这段代码有两个问题:
1.生成的位数不正确,好像是随机位数,很少有20位的.
2.每五位之间没有符号“-”隔开.
▼优质解答
答案和解析
你这个算法有很大的问题:
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后面少一个空格
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后面少一个空格
看了 用VB生成20位随机字符,由...的网友还看了以下:
①(m-n)^2=(n-m)^2②(m-n)^2=-(n-m)^2③(m+n)(m-n)=(-m- 2020-04-07 …
已知m,n,x,都是正整数,且满足于关系方程组x+100=m的平方,x+168=n的平方,求m,n 2020-05-17 …
①(m-n)^2(n-m)^2(n-m)^3②-(3x^2·y^2)^3-(-3x)^2·(-y) 2020-05-20 …
因式分解-7(m-n)63+2(n-m)^2-28(n-m)^3打错-7(m-n)^2+2(n-m 2020-06-03 …
1、求证:若一个图形只有两条对称轴,则它们互相垂直.2、设m,n为正整数,m,n均为奇数,且(2^ 2020-06-06 …
2(m+n)^2-4(m+n)(m-n)+2(n-m)^2,其中m=2008,n=-2 2020-06-26 …
A(n,m)是数学排列的一个算数表达式,也可表示为P(n,m)一般记作(如图所示),但是由于单行不 2020-07-06 …
n=900;m=700;a=10*pi/180;holdonyi=0;fork=1:7x=(1:m 2020-07-17 …
如果点M,N在数轴上表示的数分别是m,n,且|m|=2|n|,m,n之间的距离是3.(1)如果都在原 2020-11-20 …
排列数一题为什么n(n-1)(n-2)...*2*1=n(n-1)(n-2)...(n-m+1)(n 2020-12-23 …