他的程序只要做一下小小的修改就行了。
下边是我编译成功的程序代码
Private Sub Command1_Click()
Dim i As Integer, num As Integer, m As Integer, a(0 To 16) As Integer
For i = 0 To 16 '初始化为1表示没有出局,为0表示出局
a(i) = 1
Next i
num = 17 '刚开始有17个人
m = 0 '用来记录是否要出局,为3出局
While num <> 1 '当只剩下一个人时退出循环
For i = 0 To 16 '开始报数
If a(i) = 1 Then
m = m + 1
If m Mod 3 = 0 Then '如果是3的倍数出局
m = 0
num = num - 1
a(i) = 0
Print i
If num = 1 Then '如果只剩下一个人那么结束for循环
Exit For
End If
End If
End If
Next i
Wend
End Sub