在VB中随机产生(a,b]范围内整数的公式是什么

作者&投稿:亢管 (若有异议请与网页底部的电邮联系)
在VB中,如何生成某个范围内的随机整数?~

为了生成某个范围内的随机整数,可使用以下公式:
Int((上界
-
下界
+
1)
*
Rnd
+
下界)
公式中的上界就是你所要生成这个随机范围的最大值,下界就是你所要生成这个随机范围的最小值。

为了生成某个范围内的随机整数,可使用以下公式:Int((上界 - 下界 + 1) * Rnd + 下界)公式中的上界就是你所要生成这个随机范围的最大值,下界就是你所要生成这个随机范围的最小值。

1、vb中产生[a,b]区间的随机数的公式是:Int((b- a+ 1) * Rnd + a)
2、根据以上公式得出,根本无法以公式法生成(a,b](半开区间)范围内的随机数。
3、Rnd 函数返回小于 1 但大于或等于 0 的值。
4、int是取整函数。

1、vb中产生[a,b]区间的随机数的公式是:Int((b- a+ 1) * Rnd + a)
2、根据以上公式得出,根本无法以公式法生成(a,b](半开区间)范围内的随机数。
3、Rnd 函数返回小于 1 但大于或等于 0 的值。
4、int是取整函数。

Randomize
Int((a - b + 1) * Rnd + b)
'int是随机产生数字的意思

'给你个函数,很简单的使用方法 自己加到模块里
Public Enum Judge
不等于 = 0
等于 = 1
小于 = 2
大于 = 3
小于或等于 = 4
大于或等于 = 5
End Enum
Public Function Random(Optional X = 2 ^ 31, Optional Judge As Judge = 2, Optional Y = 0, Optional z As Long = 1)
On Error Resume Next
re:
Select Case z '只保留整数(0/1),1为保留
Case 0
DoEvents
Randomize ' 初始化
Random = Rnd * Val(X) ' 需要随机的数
Case 1
DoEvents
Randomize ' 初始化
Random = Fix(Rnd * Val(X)) ' 需要随机的数
End Select
Select Case Judge
Case 不等于
If Random <> Val(Y) Then GoTo re '不等于
Case 等于
If Random = Val(Y) Then GoTo re '等于
Case 小于
If Random < Val(Y) Then GoTo re '小于
Case 大于
If Random > Val(Y) Then GoTo re '大于
Case 小于或等于
If Random <= Val(Y) Then GoTo re '小于或等于
Case 大于或等于
If Random >= Val(Y) Then GoTo re '大于或等于
End Select
End Function

Rnd 函数
返回一个包含随机数值的 Single。

语法
Rnd[(number)]
可选的 number 参数是 Single 或任何有效的数值表达式。

返回值
如果 number 的值是 Rnd 生成
小于 0 每次都使用 number 作为随机数种子得到的相同结果。
大于 0 序列中的下一个随机数。
等于 0 最近生成的数。
省略 序列中的下一个随机数。

说明
Rnd 函数返回小于 1 但大于或等于 0 的值。
number 的值决定了 Rnd 生成随机数的方式。
对最初给定的种子都会生成相同的数列,因为每一次调用 Rnd 函数都用数列中的前一个数作为下一个数的种子。
在调用 Rnd 之前,先使用无参数的 Randomize 语句初始化随机数生成器,该生成器具有根据系统计时器得到的种子。

为了生成某个范围内的随机整数,可使用以下公式:
Int((upperbound - lowerbound + 1) * Rnd + lowerbound)
这里,upperbound 是随机数范围的上限,而 lowerbound 则是随机数范围的下限。
注意 若想得到重复的随机数序列,在使用具有数值参数的 Randomize 之前直接调用具有负参数值的 Rnd。使用具有同样 number 值的 Randomize 是不会得到重复的随机数序列的。

Rnd 函数示例
本示例使用 Rnd 函数随机生成一个 1 到 6 的随机整数。
Dim MyValue
MyValue = Int((6 * Rnd) + 1) ' 生成 1 到 6 之间的随机数值。


用VB编写程序,随机产生10个二位数,放入数组A中,从中选出一个最大的和...
Private Sub Command1_Click()Dim max, min Randomize Dim a(1 To 10)For i = 1 To 10 a(i) = Int(Rnd * 90 + 10)Print a(i)Next i max = a(1): min = a(1)For i = 1 To 10 If max < a(i) Then max = a(i)If min > a(i) Then min = a(i)Next i Print ...

vb题目:随机产生20个正整数存入二维数组A(4,5),并输出到文本框Text1...
Private Sub Command1_Click()Dim i, j, A(1 To 4, 1 To 5) As Integer, p, B(), n, temp Text1 = ""For i = 1 To UBound(A, 2)For j = 1 To UBound(A, 1)Randomize A(j, i) = Int(Rnd * 100) '0-99的正整数 Text1 = Text1 & A(j, i) & " "If fc(A(...

如何用vb随机产生一个二维数组,找到其最大和最小值并输出,然后再按照行 ...
ReDim A(1 To N, 1 To N) As Integer Dim Max As Integer, Min As Integer Dim MaxP As MyPoint, MinP As MyPoint Randomize Max = 0 Min = 1000 Cls For i = 1 To N For J = 1 To N A(i, J) = Int(Rnd * 900) + 100 '生成一个三位数 If A(i, J) > Max ...

vb中怎么实现在指定一些数中产生随机数? 例如:点击一次按钮,text1中...
dim a as variant ,b as integer '定义变体类型变量a,整型变量b private sub command1_click()a=Array(1,3,4,12,16) '设置数组a Randomize '初始化随机数生成器 b=int(Rnd*5) '产生0—4之间随机数;因为数组a下标默认从0开始 text1.text =a(b)把抽取的随机数送到text1 end sub...

vb对随机产生10个数进行排序
你这里i并没有赋值i定义类型为integer所以默认值为0,所以会显示错误。'根据你的题目要求要产生10个随机函数,那么应该要使用循环过程,正确的写法应该是:Randomize '建议使用该函数使程序每次运行时保证随机数都不一样for i=1 to 10 a(i) = Int(100*Rnd) + 1 '建议随机数这样子写 ne...

vb随机产生范围从1到100的10个整数放在数组a(1to10)中,用冒泡法将数组...
Private Sub Form_Click()Form1.ClsDim i As Integer, j As Integer, temp As IntegerDim a(1 To 10) As IntegerFor i = 1 To 10a(i) = Int(Rnd * 100 + 1)Next iFor i = 1 To 9For j = i + 1 To 10If a(i) > a(j) Then temp = a(i): a(i) = a(j): a(j...

VB语言中怎样产生不同的随机数?
只要在窗体上加上一个Command1就行了,当然,你也可以在其他控件中编写代码。Dim a(1 To 10) As Integer Private Sub Command1_Click()Dim p As String Randomize p = ""For i = 1 To 10 Do x = Int(Rnd * 90) + 10 yes = 0 For j = 1 To i - 1 If x = a(j) Then yes...

急求:VB中随机产生一个汽车牌号,由六个字符组成,其中首字符为大写字母...
= "没有这个车牌"End Select Print str1 & str2 End Sub Chr(Int(Rnd * 26 + 65))产生车牌的首字母,所以可以通过判断Chr(Int(Rnd * 26 + 65))的值来确定车型。输出由两部分组成:车牌号(str1)+判断结果(str2),所以,在判断语句的内部给结果赋值(即str2),最后,输出结果即可!

vb中随机产生20个10-99之间的整数,写入顺序文件abc.txt中,再重新打开...
Private Sub Command1_Click()Dim a(20)Open "D:\\abc.txt" For Output As #1 For i = 1 To 20 a(i) = Int((90) * Rnd + 10)Write #1, a(i)Next i Close #1 End Sub

vb随机产生10个数字并把这些数字累加
代码如下 产生10个随机数字 a 累加值b Private Sub Command1_Click()Dim i As Integer, a As Integer, b As IntegerFor i = 1 To 10 a = Int(Rnd * 100) Print a b = b + aNext iPrint bEnd Sub

青白江区15032768213: 在VB中随机产生(a,b]范围内整数的公式是什么 -
时德固元: 1、vb中产生[a,b]区间的随机数的公式是:Int((b- a+ 1) * Rnd + a) 2、根据以上公式得出,根本无法以公式法生成(a,b](半开区间)范围内的随机数. 3、Rnd 函数返回小于 1 但大于或等于 0 的值. 4、int是取整函数.

青白江区15032768213: 求用VB随机生成一个范围在[a,b]之间的整数! -
时德固元: 产生某闭区间内的整数随机数的公式为:int((上限-下限+1)*rnd)+下限.

青白江区15032768213: vb中怎么随机产生3个整数,整数范围不定 -
时德固元: 总得有个范围吧,例如 Randomize Timer '设置随机因子 Msgbox Int(Rnd()*100) '产生0-99之间的随机整数

青白江区15032768213: 在VB中,如何生成某个范围内的随机整数?
时德固元: 为了生成某个范围内的随机整数,可使用以下公式: Int((上界 - 下界 + 1) * Rnd + 下界) 公式中的上界就是你所要生成这个随机范围的最大值,下界就是你所要生成这个随机范围的最小值.

青白江区15032768213: vb程序设计 写出用随机函数产生的一个200 -- 299之间整数的VB表达方式? -
时德固元: 随机函数Rnd产生一个(-0,1)间的数,若要产生一个[a,b]间的整数,可以采用以下公式:Int(Rnd*(b-a+1)+a) Private Sub Command1_Click() Dim a As Integer a = Int(Rnd * (100) + 200) Print a End Sub 这是完整的程序,已运行满足要求.

青白江区15032768213: 急! VB. 编写产生随机整数过程,输出N个指定范围的随机整数. -
时德固元: 你所谓的不能用内部函数是指不用rnd这一个,还是所有的都不用啊.如果是所有的,我看好像无法实现.再说你这是何苦不用内部函数呢.说出原因#################################################################### Private ...

青白江区15032768213: 用VB编写产生随机整数过程,输出n个指定范围的随机整数,并在主程序中调用 -
时德固元: Function myRnd(L As Integer, u As Integer, n As Integer) As String Dim b For i = 1 To n Randomize b = b & ";" & Fix(Rnd * (u) + L) Next i End Function 获得的是n个随机数连起来的字符串,用split分解一下就行了

青白江区15032768213: vb如何生成某一范围内的随机数,并且排除某些数字? -
时德固元: 要产生范围 [lowerbound,upperbound]内的随机数的语句:x = Int((upperbound - lowerbound + 1) * Rnd + lowerbound) 如果要排除 其中的某一些数,例如:a、b、c(当然a、b、c在该范围内) 那么:x = Int((upperbound - lowerbound + 1) * Rnd + lowerbound) Do While x = a Or x = b Or x = c x = Int((upperbound - lowerbound + 1) * Rnd + lowerbound) Loop

青白江区15032768213: vb程序,要产生[1,99]区间的随机整数,应该如何实现 -
时德固元: Int(Rnd*99+1)函数产生的是【1,99】区间的随机整数,需要多个这样的随机整数,那就与循环语句和数组配合使用.例如产生10个【1,99】区间的随机整数存放在数组A中 Dim A(10) As Integer Randomize For i=1 to 10 A(i)=Int(Rnd*99+1) Next i Rnd函数产生0.*******的随机数,Int函数返回不大于其参数的整数,所以求【a,b】区间的随机整数可以用表达式:Int(Rnd*(b-a+1)+a)

青白江区15032768213: 如何在VB中产生在一定正整数范围内的不重复的随机数? -
时德固元: '项目:VB中产生在一定正整数范围内的不重复的随机数'作者:qq15495835 Private Sub Command1_Click() Max = 100 '随机数上限值 Min = 1 '随机数下限值 Amount = 10 '产生号码数量(数量值应小于随机数上限值-随机数下限值)否则会产生...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网