资源描述:
《本课件版权归》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、声明:本课件版权归清华大学计算机系语音技术中心所有未经许可不得扩散“案情分析”程序讨论2//*******************************************//*程序:6_aqfx2002_1.cpp(逻辑表达式)*//*作者:wuwh*//*编制时间:2002年10月10日*//*主要功能:枚举法找出谁是罪犯*//*******************************************#includevoidmain(void)//案情分析{//A和B至少有一人作案;cc1=(A
2、
3、B)//A和D不可能是同案犯;c
4、c2=!(A&&D)//A,E,F中至少有两人涉嫌作案//cc3=(A&&E)
5、
6、(A&&F)
7、
8、(E&&F)//B和C或同时作案或都与本案无关cc4=(B&&C)
9、
10、(!B&&!C)//C,D中有且仅有一人作案;cc5=(C&&!D)
11、
12、(D&&!C)//如果D没有参与作案,则E也不可能参与作案;cc6=D
13、
14、(!E)//编程找出犯罪嫌疑人.intcc1,cc2,cc3,cc4,cc5,cc6;//定义6个变量,分别表示6句话intA,B,C,D,E,F;//定义6个变量,分别表示6个人charinfo[2][9]={"不是罪犯","是罪犯"};//定义二维数组,给出是否罪
15、犯信息inti,j,w[6];//定义变量3intcc1,cc2,cc3,cc4,cc5,cc6;//定义6个变量,分别表示6句话intA,B,C,D,E,F;//定义6个变量,分别表示6个人charinfo[2][9]={"不是罪犯","是罪犯"};//定义二维数组,给出是否罪犯信息inti,j,w[6];//定义变量4//A和B至少有一人作案;cc1=(A
16、
17、B)//A和D不可能是同案犯;cc2=!(A&&D)//A,E,F中至少有两人涉嫌作案//cc3=(A&&E)
18、
19、(A&&F)
20、
21、(E&&F)//B和C或同时作案或都与本案无关//cc4=(B&&C)
22、
23、(!B&&!
24、C)//C,D中有且仅有一人作案;//cc5=(C&&!D)
25、
26、(D&&!C)//如果D没有参与作案,则E也不可能参与作案;//cc6=D
27、
28、(!E)//编程找出犯罪嫌疑人5//枚举64种可能:为0不是罪犯,为1是罪犯for(i=0;i<=63;i=i+1){for(j=0;j<6;j++)w[j]=(i>>j)&1;//位操作,将i分离6位存入数组//w[j]的值送入A,B,C,D,E,FA=w[5];B=w[4];C=w[3];D=w[2];E=w[1];F=w[0];cc1=A
29、
30、B;//第1句话cc2=!(A&&D)//第2句话cc3=(A&&E)
31、
32、(A&&F)
33、
34、
35、(E&&F);//第3句话cc4=(B&&C)
36、
37、(!B&&!C);//第4句话cc5=(C&&!D)
38、
39、(D&&!C);//第5句话cc6=D
40、
41、(!E);//第6句话if(cc1+cc2+cc3+cc4+cc5+cc6==6)//测试6句话//都为真时,才输出谁是罪犯{//输出判断结果cout<<"A:"<42、[F]<>j)&1;}//w[j]的值送入A,B,C,D,E,FA=w[5];B=w[4];C=w[3];D=w[2];E=w[1];F=w[0];7w[j]=(i>>j)&1wi>>000ABCDEFF0i>>1000ABCDEE1i>>20000ABCDD2i>>300000ABCC3i>>4000000ABB4i>>50000000AA58cc1=A
43、
44、B;//第1句话cc2=!(A&&D
45、)//第2句话cc3=(A&&E)
46、
47、(A&&F)
48、
49、(E&&F);//第3句话cc4=(B&&C)
50、
51、(!B&&!C);//第4句话cc5=(C&&!D)
52、
53、(D&&!C);//第5句话cc6=D
54、
55、(!E);//第6句话if(cc1+cc2+cc3+cc4+cc5+cc6==6)//测试6句话都为真时,才输出谁是罪犯9{//输出判断结果cout<<"A:"<