问题标题:
【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)等于0Int(0.5)等于0Int(0.9999999)等于0Int(1)等于1Int(1.9)等于1Int(2)等于2Int(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)。
点击显示
数学推荐
热门数学推荐