作业帮 > 数学 > 作业

100到200间的随机整数用VB怎么表示.

来源:学生作业帮 编辑:搜搜做题作业网作业帮 分类:数学作业 时间:2024/05/11 12:55:51
100到200间的随机整数用VB怎么表示.
100到200间的随机整数用VB怎么表示.
这个问题不太准确,100到200之间的随机整数,是否包含100和200呢?
如果不包含100和200本身,应该这样表示:Int(Rnd()*99)+101
如果包含100和200本身,应该这样表示:Int(Rnd()*101)+100
如果包含100但不包含200,应该这样表示:Int(Rnd()*100)+100
如果包含200但不包含100,应该这样表示 Int(Rnd()*100)+101
再问: 是都不包含的,但这个问题我没有弄懂,能否细说一下呢?
再答: 如果不包含100和200本身,应该用:Int(Rnd()*99)+101 这个问题首先要弄清楚Rnd()函数到底返回的是什么。 Rnd()函数会返回一个从0到0.999999999....(趋向于1但不等于1)之间的数,包括0,但不包括1。 再说Int()函数,它会舍弃小数,向下取整,例如: Int(0) 等于0 Int(0.5) 等于0 Int(0.9999999) 等于0 Int(1) 等于1 Int(1.9) 等于1 Int(2) 等于2 Int(2.9) 等于2 好了,Int(Rnd())等于什么呢?它永远等于0,因为Rnd()的返回值在0-0.999999...之中,可以有0,但不会有1; Int(Rnd()*10) 会得出 0,1,2,3,4,5,6,7,8,9 之中的任意一个数,但不可能有10,因为Rnd()*10的范围在0-9.99999...之间,可以有0,但不会有10(因为Rnd()不会返回1); Int(Rnd()*100) 会得出 0,1,2,3......96,97,98,99 之中的任意的一个数,因为Rnd()*100的范围在0-99.9999999....之间,可以有0,但不会有100; 再说 Int(Rnd()*99)+101 这个算式: Int(Rnd()*99)将返回0,1,2,3....97,98 之中的任意一个数,因为Rnd()*98范围在0-98.99999....之间,可以有0,但不会有99,更不会超过99。 Int(Rnd()*99)+101,相当于下限是0+101=101;上限是98+101=199,也就是返回值在101-199之间的整数(包括101和199)。