看看有什么问题,题目在下面

#include<stdio.h> int main(){ int A=0,B=0,C=0,D=0,E=0,F=0; 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(6==(A||B)+ ((A&&E)||(A&&F)||(E&&F))+ (!(A&&D))+ ((B&&C)||(!B&&!C))+ ((C&&!D)||(!C&&D))+ (D&&(!E)) ) break;} printf("%d %d %d %d %d %d\n",A,B,C,D,E,F); if(A=1) printf("嫌疑人是A\n"); if(B=1) printf("嫌疑人是B\n"); if(C=1) printf("嫌疑人是C\n"); if(D=1) printf("嫌疑人是D\n"); if(E=1) printf("嫌疑人是E\n"); if(F=1) printf("嫌疑人是F\n");return 0; }

img

供参考:

#include<stdio.h> 
int main()
{ 
    int A=0,B=0,C=0,D=0,E=0,F=0; 
    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(6==(A || B)//A B 至少有一人作案
                                + ((A && E) ||(A && F)||(E && F))//A E F 至少有二人参与作案
                                + ((!A&& D) ||(A && !D))//A D 不可能是同案犯
                                + ((B && C) ||(!B&& !C))//B C 或同时,或与本案无关
                                + ((C && !D)||(!C&& D))//CD 中有且仅有一人作案
                                + ((D && E) ||(!D&& !E)))//如果 D 没有参与作案,则 E 也不可能参与作案
                            { 
                                printf("%d %d %d %d %d %d\n", A, B, C, D, E, F);
                                if (A == 1) printf("嫌疑人是A\n");
                                if (B == 1) printf("嫌疑人是B\n");
                                if (C == 1) printf("嫌疑人是C\n");
                                if (D == 1) printf("嫌疑人是D\n");
                                if (E == 1) printf("嫌疑人是E\n");
                                if (F == 1) printf("嫌疑人是F\n");
                                //break;
                            }
    
    return 0; 
}