vb 中设 a = 5,b = 10,则执行 c = Int((b-a)* Rnd + a) + 1后,c的值为
问题描述:
vb 中设 a = 5,b = 10,则执行 c = Int((b-a)* Rnd + a) + 1后,c的值为
答
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