vb 随机数
各位帮个忙 我想写一个随机数 随机数的起始不从那组数的起始开始而是随便一个数都可以比如随机1-10这十个数 我不想每次都是从一到十这样随机 而是可以从任意一个数到十 然后在循环回来到这个数 这样随机
从五开始的话 就是随机5-10 然后1-4这样随机
帮帮忙 谢谢 --------------------编程问答-------------------- ??
那就是随机出个数小于10大于5??
dim a : a=0
while(a<5)
rondomize
a=rnd*10
wend
--------------------编程问答-------------------- 不太明白是什么意思,举个例子看看吧 --------------------编程问答-------------------- 还是随机这个十个数 就是不是从1开始随机了 是可以从任意一个数开始
这十个数都是有可能随机出来的
--------------------编程问答-------------------- 1-10 我提前以1开始到10随机出了比如说6 然后再从6开始随机 再次随机这十个数 然后得到这十个数中的任意一个 --------------------编程问答-------------------- lz是指Randomize吧
--------------------编程问答--------------------
那什么时候截止呢?? --------------------编程问答-------------------- 6的时候就是到5截止 7就是到6 前一个数截止 --------------------编程问答--------------------
你的第一个随机没有用。反正是 1到10的随机。 --------------------编程问答-------------------- 我猜lz是看每次出来的随机数重复,其实Randomize就是解决这个问题
Private Sub Command1_Click()--------------------编程问答-------------------- lz多点几次看,是不重复的 --------------------编程问答--------------------
Dim i As Integer
Debug.Print "*********"
Randomize
For i = 1 To 10
Debug.Print Int(Rnd * 10 + 1)
Next i
End Sub
貌似不是...他说的逻辑流程不是很清楚
我归纳了一下
从1-10中出一个随机数 - 假如出现数字5 - 再从6-10出一个随机数 - 再从1-4中出一个随机数
然后呢?。。。。 --------------------编程问答--------------------
Sub Main()--------------------编程问答-------------------- 看看
Dim x As Long
Dim i As Long
Randomize
x = Int(Rnd() * 10) + 1
For i = 0 To 9
Debug.Print ((x - 1 + i) Mod 10) + 1
Next
End Sub
(Int(Rnd * 10) + 1 + Int(Rnd * 10) + 1) mod 10 --------------------编程问答-------------------- 问一下这10个随机数字是否重复 --------------------编程问答-------------------- 随便写了一个例子,参考一下吧 --------------------编程问答-------------------- 楼主的意思可能是随机从1到10开始顺序往下数,如果数到10下一个就从1开始,共数10个数。
dim n as integer
dim i as integer
n=1+int(rnd*10)
for i=1 to 10
debug.print n
n=(n mod 10)+1
next --------------------编程问答-------------------- 不然‘从1到10随机’与‘从5到10和从1到4随机’是一回事。 --------------------编程问答-------------------- LZ估计是想做那种类似猜数的游戏
就比如说1到100随机一个数,然后某个人猜数,缩小范围继续猜之类的 --------------------编程问答--------------------
--------------------编程问答--------------------
Private Sub Command1_Click()
Randomize Timer
Static a As Integer
Dim b As Integer
Dim c As Boolean
Static d As Boolean
Static e As Boolean
Do
b = Int(Rnd * 10) + 1
If Not d Then
d = True
a = b
Debug.Print b
Exit Do
Else
If Not e Then
If b > a Then
Debug.Print b
e = True
a = b
Exit Do
End If
Else
If b < a Then
Debug.Print b
e = False
a = b
Exit Do
End If
End If
End If
Loop
End Sub
见12楼 --------------------编程问答--------------------
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 是不会得到重复的随机数序列的。
补充:VB , 网络编程