赞
踩
C语言逻辑推理例题.doc
C语言逻辑推理例题(多重循环)例1明明找不到铅笔盒了,妈妈对他说“我把铅笔盒放到三个抽屉中的一个抽屉里了,每个抽屉上都写了一句话。不过,其中只有一句话是真的。”明明看到的三句话是左边抽屉“铅笔盒不在这里”;中间抽屉“铅笔盒不在这里”;右边抽屉“铅笔盒在左边的抽屉”;例2甲、乙、丙、丁四人参加一次数学竞赛。赛后,他们四人预测名次的谈话如下甲说“丙得第一,我第三名”;乙说“我第一名,丁第四名”丙说“丁第二名,我第三名”丁没说话。当最后结果公布时发现,甲乙丙都只说对了一半,请给出正确的四人名次。例3一位法官在审理一起盗窃案时,对涉及到的四名嫌疑犯A、B、C、D进行了审问。四人分别供述如下A“罪犯在B、C、D三人之中。”B“我没有作案,是C偷的。”C“在A和D中间有一个是罪犯。”D“B说的是事实”经过充分的调查,证实四人中只有两人说了真话,并且罪犯只有一个。请确定真正的罪犯。参考答案(1)includestdio.hincludestdlib.hmain short a,b,c,d,l1,l2,l3,l4;fora0;a1;aforb0;b1;bforc0;c1;cford0;d1;d l1bcd1;l2bc;l3ad1;l4l2;ifl1l2l3l42abcd1printfd,d,d,dn,a,b,c,d;system“pause”;参考答案(2)includestdio.hincludestdlib.hmainshort a,b,c,d,j,t; forj0;j15;j ajbjcjdj tbcd1bcad1bc;ift2abcd1printfd,d,d,dn,a,b,c,d;systempause;习题1、小狗、小兔、小猫、小猴和小鹿参加百米赛跑,比赛结束后,小猴说“我比小猫跑得快。”小狗说“小鹿在我的前面冲过了终点线。”小兔说“我的名次排在小猴的前面,小狗的后面。”请根据他们的回答排出名次。参考答案includestdio.hincludestdlib.hmainshort a,b,c,d,e,l1,l2,l3; /*a,b,c,d,e分别代表小狗,小兔,小猫,小猴,小鹿*/fora1;a5;aforb1;b5;bifab continue;forc1;c5;cifacbc continue;ford1;d5;d ifadbdcd continue; e15-a-b-c-d; l1dc; l2ea; l3bdab; ifl1l2l33 printfd,d,d,d,dn,a,b,c,d,e; systempause;2、地理老师在黑板上挂了一张世界地图,并给五大洲的每一个洲都标上了一个代号,让同学们认出五大洲。五名学生分别回答如下甲3号是欧洲,2号是美洲;乙4号是亚洲,2号是大洋洲;丙1号是亚洲,5号是非洲;丁4号是非洲,3号是大洋洲;戊2号是欧洲,5号是美洲。老师说他们没人都只说对了一半,请问15号分别代表哪个洲参考答案includestdio.hincludestdlib.hmainshort y,o,f,m,d,l1,l2,l3,l4,l5;/*y,o,f,m,d分别是亚洲,欧洲,非洲,美洲和大洋洲的首字母*/fory1;y5;yforo1;o5;oifyo continue;forf1;f5;fifyfof continue;form1;m5;m ifym om fm continue; d15-y-o-f-m; l1o3m2; /*3号是欧洲,2号是美洲*/ l2y4d2; /*4号是亚洲,2号是大洋洲*/ l3y1f5; /*1号是亚洲,5号是非洲*/ l4f4d3; /*4号是非洲,3号是大洋洲*/ l5o2m5; /*2号是欧洲,5号是美洲*/ ifl11l21l31l41l51/*如果都成立*/ printfd,d,d,d,dn,y,o,f,m,d;/*输出结果*/ systempause;3、 甲、乙、丙三人,一个人喜欢看足球,一个人喜欢看拳击,一个人喜欢看篮球。已知甲不爱看篮球,丙既不喜欢看篮球又不喜欢看足球。现有足球、拳击、篮球比赛的入场券各一张,请你根据他们的爱好,把票分给他们。参考答案includestdio.hincludestdlib.hmainshort a,b,c,l1,l2;fora1;a3;aforb1;b3;bforc1;c3;c l1a3;l2c2;ifl1l22abacbcprintf甲d,乙d,丙d(1代表足球,2代表拳击,3代表篮球)n,a,b,c;systempause;逻辑推理A、B、C、D、E、F、G、H、I、J共10名学生有可能参加本次计算机竞赛,也可能不参加。因为某种原因,他们是否参赛受到下列条件的约束1、如果A参加,B也参加2、如果C不参加,D也不参加3、A和C中只能有一个人参加4、B和D中有且仅有一个人参加5、D、E、F、G、H中至少有2人参加6、C和G或者都参加,或者都不参加7、C、E、G、I 中至多只能有2人参加8、如果E参加,那么F和G也都参加9、如果F参加,G、H就不能参加10、如果I、J都不参加,H必须参加请编程根据这些条件判断这10名同学中参赛者名单,如果有多种可能,则输出所有的可能情况。每种情况占一行。参赛同学按字母升序排列,用空格分隔。比如C D G J就是一种可能的情况分析C0C1C2C3C4C5C6C7C8C9ABCDEFGHIJint t1x00 x11; int t2x21 x30; int t3x0x21; int t4x1x31; int t5x3x4x5x6x72; int t6x2x60x2x62; int t7x2x4x6x82; int t8x40 x5x62; int t9x50 x6x70; int t10x8x90x71; return t1 t2 t3 t4 t5 t6 t7 t8 t9 t10;运行结果参考程序include stdio.hvoid showint *x int i;fori0;i10;iifxi0printfc,iA;printfn;int judgeint *xint t1x00 x11; int t2x21 x30; int t3x0x21; int t4x1x31; int t5x3x4x5x6x72; int t6x2x60x2x62; int t7x2x4x6x82; int t8x40 x5x62; int t9x50 x6x70; int t10x8x90x71; return t1 t2 t3 t4 t5 t6 t7 t8 t9 t10;void fint *x,int nifn10 ifjudgexshowx; return;xn0;fx,n1;xn1;fx,n1;void mainint x0,0,0,0,0,0,0,0,0,0; fx,0; return 0;
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。