| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1446 人关注过本帖
标题:请帮助,如何产生十个不重复的随机数???
只看楼主 加入收藏
multiple1902
Rank: 8Rank: 8
等 级:贵宾
威 望:42
帖 子:4881
专家分:671
注 册:2007-2-9
收藏
得分:0 
以下是引用yjyjipc在2007-8-21 16:22:19的发言:
不好意思,看不懂...也试不出来..
前面那个算法是用数组保存已经产生的数的

这个算法思路是用字符串产生已经产生的数,可以用Instr方便地判断是否已生成

== 好像有点问题 我去修正一下
2007-08-21 18:17
Benison
Rank: 1
等 级:新手上路
帖 子:92
专家分:0
注 册:2007-6-23
收藏
得分:0 
Dim b As New Collection
Private Sub Command1_Click()
a = Int(Rnd * 10) + 1
For i = 1 To b.Count
If b.Item(i) = a Then
Command1_Click
Exit Sub
End If
Next i
Print a
b.Add (a)
End Sub

至于到了最后出错的,就自己重新设置吧

2007-08-21 18:26
skyshicn
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2007-8-10
收藏
得分:0 
我也看不懂
2007-08-21 18:28
cwjieNO1
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2007-8-20
收藏
得分:0 

Private Sub Command1_Click()

Dim t1, t2 As Integer
Dim t3 As String
Dim t(9) As String
For t1 = 0 To 9
Randomize
t2 = Int((100 - 1 + 1) * Rnd + 1)
List1.AddItem abc(CStr(t2), t)
Next t1

End Sub

Private Function abc(a As String, b() As String) As String
Dim i As Integer
Dim bol As Boolean
bol = False
For i = LBound(b) To UBound(b)
If b(i) = a Then
bol = True
Exit For
End If
Next
If bol = False Then
abc = a
Else
Randomize
abc = abc(CStr(Int((100 - 1 + 1) * Rnd + 1)), b)
End If
End Function

2007-08-21 20:04
快速回复:请帮助,如何产生十个不重复的随机数???
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.028971 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved