VB初级编程某地发生一起特大盗窃案,与本案有关的犯罪嫌疑人有6人
某地发生一起特大盗窃案,与本案有关的犯罪嫌疑人有6人,他们分别是A、B、、D、E、F,现已查明有下面6条线索: 1.A、B中至少有一人作案; 2.A、D两人不可能是同案犯; 3.A、E、F中有两人参与作案; 4.B、C或同时作案,或同时与本案无关; 5.C、D中有且只有一人作案; 6.如果D没有参与作案,则E也不可能参与作案。 要求从中找出真凶。 有谁能给我程序代码,并附一些解释。 谢谢
界面上建个Label和一个按钮。 如下: ============================= Dim A As Integer Dim B As Integer Dim C As Integer Dim D As Integer Dim E As Integer Dim F As Integer 'A、B、C、D、E、F分别表示这六个人是否为真凶 '0:不是真凶 1:是真凶 Private Sub Command1_Click() '循环列举所有6个人真凶与非真凶的组合 For A = 0 To 1 For B = 0 To 1 For C = 0 To 1 For D = 0 To 1 For E = 0 To 1 For F = 0 To 1 '判断是否符合线索 If A + B >= 1 Then 'A、B中至少有一人作案 If A + D <= 1 Then 'A、D两人不可能是同案犯 If A + E + F = 2 Then 'A、E、F中有两人参与作案 If B + C = 2 Or B + C = 0 Then 'B、C或同时作案,或同时与本案无关 If C + D = 1 Then 'C、D中有且只有一人作案 If D = 0 Then If E = 0 Then '如果D没有参与作案,则E也不可能参与作案 '六条线索都符合,打印结果 Call PrintResult Exit Sub End If Else '如果D没有参与作案,则E也不可能参与作案 '(D参与作案了的话,E的情况未知,参与不参与都不违反线索) '六条线索都符合,打印结果 Call PrintResult Exit Sub End End If End If End If End If End If End If Next Next Next Next Next Next End Sub '打印结果 Sub PrintResult() Dim s As String s = "" If A = 1 Then s = s + "A" If B = 1 Then s = s + "B" If C = 1 Then s = s + "C" If D = 1 Then s = s + "D" If E = 1 Then s = s + "E" If F = 1 Then s = s + "F" Label1.Caption = s End Sub ============================ 结果是ABCF 补充: 爱问发表完的东西也看不出缩进。。有点晕啊。。。 我把代码稍微整理了一下,把6条线索的判断写成了6个函数,这样结构稍微清楚点。 把改完的程序文件放附件上了。