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

3vicinity2022-10-04 11:39:542条回答

已提交,审核后显示!提交回复

共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年前
wsf0202 共回答了1个问题 | 采纳率
rnd是随机函数,值的范围为[0,1),所以上面c值是随机出来的,它的范围为[6,11)间的整数
1年前

相关推荐

vb 中设 a = 5,b = 13,则执行 c = Int((b-a)* Rnd + a) + 1后,c的范围为6~1
vb 中设 a = 5,b = 13,则执行 c = Int((b-a)* Rnd + a) + 1后,c的范围为6~14.为什么?
为什么不是6~13呢,14难道可以取到么?
铭豆小猪1年前1
蓼红苇白 共回答了22个问题 | 采纳率95.5%
6~14是前包后开的区间[6,14).
也就是说是大于等于6,小于14