谁是偷盗者 用VB解答出来怎么做?甲、乙、丙、丁4个嫌疑人,只有1人为偷盗者。在审讯中,四人诚实或说谎都有可能。
谁是偷盗者 用VB解答出来怎么做?
甲、乙、丙、丁4个嫌疑人,只有1人为偷盗者。在审讯中,四人诚实或说谎都有可能。
甲:乙没偷,丁偷的;
乙:我没偷,丙偷的;
丙:甲没偷,乙偷的;
丁:我没偷。
请推断实际的偷盗者。
用VB怎么做
[解决办法]
6楼丢了?
重发一次,抛砖引玉,看还其他跟好的办法没有.
- VB code
Option ExplicitPrivate Sub Form_Click()' 甲:乙没偷,丁偷的;' 乙:我没偷,丙偷的;' 丙:甲没偷,乙偷的;' 丁: 我没偷Dim i(3) As Boolean, n As Byte, m As Byte, k As Boolean, s As StringMe.Caption = ""For n = 0 To 3 i(n) = True For m = 0 To 3 If m <> n Then i(m) = False '初始条件:只有一个小偷 Next If i(0) = True Then i(1) = False Else i(1) = True ' 丙:甲没偷,乙偷的; If i(1) = False Then i(3) = True Else i(3) = False ' 甲:乙没偷,丁偷的; If i(1) = True Then i(2) = False Else i(2) = True ' 乙:我没偷,丙偷的; ' 丁: 我没偷 丁的话没有任何意义. k = False For m = 0 To 3 If k = True And i(m) = True Then GoTo Nex '有1个以上的小偷,结论作废 If i(m) = True Then k = True Next For m = 0 To 3 If i(m) = True Then Select Case m Case 0 s = "甲可能是小偷" Case 1 s = "乙可能是小偷" Case 2 s = "丙可能是小偷" Case 3 s = "丙可能是小偷" End Select If Me.Caption <> s Then Me.Caption = Me.Caption & s Else Me.Caption = s End If NextNex: NextEnd Sub
