Ps:程序代码下附(vb):(一般很少有人愿意发程序代码的,劳动成果啊) Dim qk(1 To 5) As Integer Dim i As Integer Dim n As Integer Dim ji As Integer Dim jg(5) As Single Dim j(1 To 5, 1 To 5) As Single Dim zong(1 To 5) As Single Function ken(x As Integer, gailv As Single) If qk(x) > 1 Then qk(x) = qk(x) - 1 Else jg(x) = jg(x) + gailv GoTo 1 End If Dim m Select Case x Case 1: m = ken(2, gailv) Case 5: m = ken(4, gailv) Case Else: m = ken(x + 1, 0.5 * gailv) m = ken(x - 1, 0.5 * gailv) End Select qk(x) = qk(x) + 1 1: End Function Function jin(x As Integer, gailv As Single) If ji = 9 Then zong(x) = zong(x) + gailv GoTo 1 End If Dim m ji = ji + 1 m = jin(1, gailv * 0.5 * j(x, 2)) m = jin(2, gailv * 0.5 * (2*j(x, 1) + j(x,3))) m = jin(3, gailv * 0.5 * (j(x, 2) + j(x,4))) m = jin(4, gailv * 0.5 * (j(x, 3) + 2*j(x,5))) m = jin(5, gailv * 0.5 * j(x, 4)) ji = ji - 1 1: End Function Private Sub Command1_Click() Dim m ji = 1 For n = 1 To 5 zong(n) = 0 For i = 1 To 5 qk(i) = 5 jg(i) = 0 Next i m = ken(n, 1) For i = 1 To 5 j(n, i) = jg(i) Next i Next n m = jin(3, 1) Open App.Path & "\123.TXT"For Output As #1 For n = 1 To 5 For i = 1 To 5 Print #1, n & " " & i& " " & j(n, i) Next Next Print #1, "最终1到5位置概率是:" For i = 1 To 5 Print #1, zong(i) Next Print #1, "3位置概率是"& zong(3) Close #1 *打印结果 End Sub