QB或C程序题:找出作案人

来源:百度知道 编辑:UC知道 时间:2024/06/25 08:44:22
六人嫌疑:
A、B至少一个作案;
A、E、F三人中至少两人作案;
A、D不可能是同案犯;
B、C或同时作案,或与本案无关;
C、D有且仅有一人作案;
如果D没有参与作案,则E也不可能参与作案。
用QB或C编程,找出作案人。如果既用QB又用C编程最好。
谢谢。
非常好,基本看懂,但不是百分百懂.如果能有解释就更好了.

C语言的: WIN-TC下编的
#include "Stdio.h"
#include "Conio.h"
int main(void)
{
int a,b,c,d,e,f;
printf("A B C D E F\n");
for(a=0;a<2;a++)
for(b=0;b<2;b++)
for(c=0;c<2;c++)
for(d=0;d<2;d++)
for(e=0;e<2;e++)
for(f=0;f<2;f++){
if(d==0 && e==1) continue;
if(a+b>0 && a+e+f>1 && a+d==1 && b+c!=1 && c+d==1)
printf("%d %d %d %d %d %d\n",a,b,c,d,e,f);
}
getch();
return 0;
}

QB的:
PRINT "A B C D E F"
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 d=0 AND e=1 THEN GOTO nextp
if a+b>0 AND a+e+f>1 AND a+d=1 AND b+c<>1 AND c+d=1 THEN print a,b,c,d,e,f
nextp:NEXT F
NEXT e
next d
next c
next b
next a

输出是1就表示是罪犯,0就不是罪犯