vb 中设 a = 5,b = 10,则执行 c = Int((b-a)* Rnd + a) + 1后,c的值为

3vicinity 1年前 已收到2个回答 举报

黑马频出 幼苗

共回答了16个问题采纳率:93.8% 举报

C的结果是在6-10间的整数
b-a=5
Rnd为0-1的小数,包括0但不包括1
因此(b-a)*Rnd的范围为0-5,包括0,但不包括5.
所以((b-a)* Rnd + a的范围是5-10,包括5,但不包括10.
最后Int((b-a)* Rnd + a) + 1的范围是6-11间的整数,包括6,但不包括11,因此其结果只能是6,7,8,9,10.运行结果如图:

程序还是你的,只是加上随机数的初始化,这个很重要!
Private Sub Command1_Click()
Randomize
a = 5
b = 10
c = Int((b - a) * Rnd + a) + 1
Print c
End Sub

1年前

6

wsf0202 幼苗

共回答了1个问题 举报

rnd是随机函数,值的范围为[0,1),所以上面c值是随机出来的,它的范围为[6,11)间的整数

1年前

0
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 18 q. 0.078 s. - webmaster@yulucn.com