|
本帖最后由 香川群子 于 2014-5-29 08:44 编辑
hui112233 发表于 2014-5-28 17:53
改了一下,可以了。谢谢。
以后还请多多指教哈。
Sub test()
…………顺便说,可以一个Do循环完成:- Sub test()
- Dim H&, i&, k&, s, x&, y&(9), cnt&, tms#
- tms = Timer
-
- s = Array(100, 100, 100, 60, 40, 20, 10, 8, 7, 6) '在这里设置10档基础数据
- For i = 0 To 9
- y(i) = s(i) ' 把基础数据转换为Long类型数组y 这样可以大大提高速度
- Next
-
- ' x = 0: k = 0 '计数变量的初始化并非必要
- Do
- k = k + 1 '测试次数k统计+1
- H = Int(Rnd * 100) + 1 '获取随机数
- If H > y(x) Then
- If x > 7 Then x = 0
- Else
- x = x + 1
- If x = 10 Then x = 0: cnt = cnt + 1 '当x=10时完成一个轮次的测试
- End If
- Loop Until cnt = 200 '在这里设置需要测试的轮次数cnt
-
- [d16] = k / cnt '平均值计算=【测试次数k】/【总测试轮次数cnt】
- MsgBox cnt & Format(Timer - tms, " 0.000s ") & Format(k / cnt, "#,##0.0")
- End Sub
复制代码 |
|