在VB中,如何产生48~57、65~90、97~122之间的随机数

也就是数字0~9、大写字母A~Z、小写字母a~z。
还有如何产生65~90、97~122之间的随机数?(即大写字母A~Z、小写字母a~z)
两个问题!

第1个回答  2019-12-02
两个或多个区间各产生一个随机数放到数组里,最后以数组范围产生随机数,取这个随机数下标对应的数组元素
第2个回答  推荐于2016-06-28
要产生a-b之间的随机数,可以用以下公式:
随机数*(b-a)+a
这样就行了!追问

代码?(还有,三个的呢?)

追答

还要代码?
dim lower as integer
dim upper as integer
dim rander as integer

upper=90 *上界赋值
lower =65 *下界赋值

rander=rand()*(upper-lower)+lower *求出随机数

三个什么意思?

追问

产生48~57、65~90、97~122之间的随机数(共3段)

追答

这个,你把从upper=90到rander=....那段复制粘贴就行了,对了,我这个里面有些错误。
1. *号是注释的意思,但VB里面不用这个符号,用的是单引号'
2. VB里面的随机函数是Rnd(),不是Rand()
你改一下就OK了。

追问

复制粘贴?
还是给代码吧

追答

我晕,你是不是学VB的?

dim lower as integer
dim upper as integer
dim rander as integer

upper=48
lower =57
rander=rnd()*(upper-lower)+lower
print chr(rander) '打印0-9之间的随机数

upper=90
lower =65
rander=rnd()*(upper-lower)+lower
print chr(rander) '打印A-Z之间的随机字符

upper=97
lower =122
rander=rnd()*(upper-lower)+lower
print chr(rander) '打印a-z之间的随机字符

追问

只输出1个答案!!!你这个会输出3个

追答

。。。。。。。。。。。。

Dim lower As Integer
Dim upper As Integer
Dim rander As Integer

upper = 48
lower = 122
Do
rander = Rnd() * (upper - lower) + lower
Loop While (rander > 57 And rander 90 And rander < 97)
print Chr(rander)

本回答被提问者采纳
相似回答