| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
高端软件开发 = 年薪十万不是梦   
共有 339 人关注过本帖
标题:一个判断两个数是否相等的问题!
收藏  订阅  推荐  打印
b31b6b82
Rank: 1
等级:新手上路
帖子:7
积分:172
注册:2007-10-5
一个判断两个数是否相等的问题!

Private Sub Command1_Click()
Dim a1 As Single
Dim i As Single
Dim b As String
Dim b1 As String
Dim b2 As String
Dim x As String

'初始化
b = ""
b1 = ""
b2 = ""

For i = 0 To 5 '循环6次,每次生成一个随即数
11:
a1 = Int((33 * Rnd) + 1)
b1 = a1

If StrComp(b1, b2, 0) = 0 Then '判断随机数不能相同
    GoTo 11
Else
    x = b1
End If


b2 = a1

Me.a(i).Text = x
Next


End Sub

我想生成6个随机数,已经实现了,另一个要求是这6个数不能重复,现在总是出现两个数重复,请大家帮忙看看,谢谢啊
2008-8-3 23:25
octillion
Rank: 3Rank: 3
等级:中级会员
帖子:195
积分:2156
注册:2008-7-24

你算法有问题。

一种方法是将生成过的随机数存储到数组,然后每次查找是否重复。在VB里可以合并到字符串里,然后用InStr函数判断是否重复。
2008-8-4 11:48
simpson
Rank: 4
等级:高级会员
威望:5
帖子:775
积分:7938
注册:2006-11-16

生成 不重复的随机数的算法问题
2008-8-5 21:05
hai99
Rank: 2
等级:注册会员
帖子:130
积分:1408
注册:2007-7-2

学习
2008-8-5 23:16
aspd199
Rank: 2
来自:宇宙
等级:注册会员
威望:1
帖子:61
积分:768
注册:2008-4-17

VB探讨群3
48029944
欢迎加入

Randomize
Dim a(5) As Integer, i As Integer, n As Integer, Y As Boolean
For i = 0 To 5 '循环6次,每次生成一个随即数
    Do
        Y = False
        a(i) = Int((33 * Rnd) + 1)
        For n = 0 To i
            If i = n Then Exit For
            'MsgBox i & n
            If a(i) = a(n) Then Y = True: Exit For
        Next
    Loop While Y
    Print a(i)
Next
'答案输出a(0) 至 a(5)
MsgBox a(0) & vbCrLf & a(1) & vbCrLf & a(2) & vbCrLf & a(3) & vbCrLf & a(4) & vbCrLf & a(5)
2008-8-6 02:09
朗朗
Rank: 3Rank: 3
等级:中级会员
帖子:227
积分:2492
注册:2007-10-2

引用:
aspd199 在 2008-8-6 02:09 的发言:

VB探讨群3
48029944
欢迎加入

Randomize
Dim a(5) As Integer, i As Integer, n As Integer, Y As Boolean
For i = 0 To 5 '循环6次,每次生成一个随即数
    Do
        Y = False
        a(i) = Int((3 ...
好活跃的宇宙人啊
2008-8-6 10:36
hyhhd
Rank: 4
等级:高级会员
威望:1
帖子:484
积分:5004
注册:2006-5-12

没错,就是Randomize。

2008-8-6 20:33
共有 338 人关注过本帖
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.050974 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved