关于随机函数调用的一个问题!召唤大虾!

leon5671 2005-11-18 07:29:26
用VB编写一个函数:
50%的几率的返回值为A
30%的。。。。。。。为B
20%的。。。。。。。为C
...全文
258 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
WM_JAWIN 2005-11-18
  • 打赏
  • 举报
回复
不知所云
vbman2003 2005-11-18
  • 打赏
  • 举报
回复
Private Function PrintTest() As String
Dim s(1 To 10) As String
Dim i As Integer
For i = 1 To 10
Select Case i
Case Is <= 5
s(i) = "A"
Case Is > 8
s(i) = "C"
Case Else
s(i) = "B"
End Select
Next i
Randomize
While j < 10
i = Rnd(1) * 9 + 1
If Len(s(i)) = 1 Then
PrintTest = PrintTest & s(i)
s(i) = s(i) & i
j = j + 1
End If
Wend
End Function
rainstormmaster 2005-11-18
  • 打赏
  • 举报
回复
Private Function test() As Long
Dim i As Long
Randomize Timer
i = CLng((100 * Rnd) + 1)
If i <= 50 Then
test = 50
ElseIf i > 50 And i <= 80 Then
test = 30
Else
test = 20
Next
End Function

大致就是这个意思:先产生1-100之间的一个随机数,然后根据随机数的大小范围不同返回不同的返回值
northwolves 2005-11-18
  • 打赏
  • 举报
回复
Private Sub Command1_Click()'测试
Dim X(1 To 100000) As String, COUNTS(65 To 67)
For I = 1 To 100000
createachar X(I)
COUNTS(Asc(X(I))) = COUNTS(Asc(X(I))) + 1
Next
MsgBox "A:" & COUNTS(65) & vbCrLf & "B:" & COUNTS(66) & vbCrLf & "C:" & COUNTS(67)
End Sub


Sub createachar(ByRef mystr As String)
Randomize
mystr = IIf(Rnd > 0.5, "A", IIf(Rnd < 0.6, "B", "C"))
End Sub

7,762

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧