|
本帖最后由 laoau138 于 2017-6-26 17:32 编辑
VBA用数组随机随机 有什么问题
假设两个硬币随机200次 出现两个面都是正面,两个面都是反面,一正一反这3种情况各出现多少次
总得这个代码有不完善的地方,如何改正啊
Sub 随机模拟有什么问题()
Dim a(1 To 200) As Integer
Dim x%, y%, z%, i%
Randomize
Debug.Print "模拟200次结果"
For i = 1 To 200
a(i) = Int(Rnd * 3) + 1
Next
For i = 1 To 200
If a(i) = 1 Then
x = x + 1
ElseIf a(i) = 2 Then
y = y + 1
ElseIf a(i) = 3 Then
z = z + 1
End If
Next
Debug.Print "两个正面出现:" & x & "次."
Debug.Print "两个反面出现:" & y & "次."
Debug.Print "一正一反出现:" & z & "次."
End Sub
- Sub 随机模拟有什么问题()
- Dim a%, b%
- Dim x%, y%, z%, i%
- Randomize
- Debug.Print "模拟200次结果"
- For i = 1 To 200
- a = Int(Rnd * 2) + 1
- b = Int(Rnd * 2) + 1
- If a = 1 And b = 1 Then
- x = x + 1
- ElseIf a = 2 And b = 2 Then
- y = y + 1
- Else
- z = z + 1
- End If
- Next
-
- Debug.Print "两个正面出现:" & x & "次."
- Debug.Print "两个反面出现:" & y & "次."
- Debug.Print "一正一反出现:" & z & "次."
- End Sub
复制代码
|
|