C语言逻辑推理例题(附答案)

上传人:xt****7 文档编号:102447755 上传时间:2022-06-06 格式:DOC 页数:4 大小:19.01KB
返回 下载 相关 举报
C语言逻辑推理例题(附答案)_第1页
第1页 / 共4页
C语言逻辑推理例题(附答案)_第2页
第2页 / 共4页
C语言逻辑推理例题(附答案)_第3页
第3页 / 共4页
点击查看更多>>
资源描述
C语言逻辑推理例题(多重循环)例1明明找不到铅笔盒了,妈妈对他说:“我把铅笔盒放到三个抽屉中的一个抽屉里了,每个抽屉上都写了一句话。不过,其中只有一句话是真的。”明明看到的三句话是:左边抽屉:“铅笔盒不在这里”;中间抽屉:“铅笔盒不在这里”;右边抽屉:“铅笔盒在左边的抽屉”;例2甲、乙、丙、丁四人参加一次数学竞赛。赛后,他们四人预测名次的谈话如下:甲说:“丙得第一,我第三名”;乙说:“我第一名,丁第四名”丙说:“丁第二名,我第三名”丁没说话。当最后结果公布时发现,甲乙丙都只说对了一半,请给出正确的四人名次。例3一位法官在审理一起盗窃案时,对涉及到的四名嫌疑犯A、B、C、D进行了审问。四人分别供述如下:A:“罪犯在B、C、D三人之中。”B:“我没有作案,是C偷的。”C:“在A和D中间有一个是罪犯。”D:“B说的是事实”经过充分的调查,证实四人中只有两人说了真话,并且罪犯只有一个。请确定真正的罪犯。参考答案:(1)#include#includemain() short a,b,c,d,l1,l2,l3,l4;for(a=0;a=1;a+)for(b=0;b=1;b+)for(c=0;c=1;c+)for(d=0;d=1;d+) l1=(b+c+d=1);l2=(!b&c);l3=(a+d=1);l4=l2;if(l1+l2+l3+l4=2&a+b+c+d=1)printf(%d,%d,%d,%dn,a,b,c,d);system(“pause”);参考答案:(2)#include#includemain()short a,b,c,d,j,t; for(j=0;j3;b=(j&4)2;c=(j&2)1;d=j&1; t=(b+c+d=1)+(!b&c)+(a+d=1)+(!b&c);if(t=2&a+b+c+d=1)printf(%d,%d,%d,%dn,a,b,c,d);system(pause);习题1、小狗、小兔、小猫、小猴和小鹿参加百米赛跑,比赛结束后,小猴说:“我比小猫跑得快。”小狗说:“小鹿在我的前面冲过了终点线。”小兔说:“我的名次排在小猴的前面,小狗的后面。”请根据他们的回答排出名次。参考答案:#include#includemain()short a,b,c,d,e,l1,l2,l3; /*a,b,c,d,e分别代表小狗,小兔,小猫,小猴,小鹿*/for(a=1;a=5;a+)for(b=1;b=5;b+)if(a=b) continue;for(c=1;c=5;c+)if(a=c|b=c) continue;for(d=1;d=5;d+) if(a=d|b=d|c=d) continue; e=15-a-b-c-d; l1=(dc); l2=(ea); l3=(bd&ab); if(l1+l2+l3=3) printf(%d,%d,%d,%d,%dn,a,b,c,d,e); system(pause);2、地理老师在黑板上挂了一张世界地图,并给五大洲的每一个洲都标上了一个代号,让同学们认出五大洲。五名学生分别回答如下:甲:3号是欧洲,2号是美洲;乙:4号是亚洲,2号是大洋洲;丙:1号是亚洲,5号是非洲;丁:4号是非洲,3号是大洋洲;戊:2号是欧洲,5号是美洲。老师说他们没人都只说对了一半,请问15号分别代表哪个洲?参考答案:#include#includemain()short y,o,f,m,d,l1,l2,l3,l4,l5;/*y,o,f,m,d分别是亚洲,欧洲,非洲,美洲和大洋洲的首字母*/for(y=1;y=5;y+)for(o=1;o=5;o+)if(y=o) continue;for(f=1;f=5;f+)if(y=f|o=f) continue;for(m=1;m=5;m+) if(y=m | o=m | f=m) continue; d=15-y-o-f-m; l1=(o=3)+(m=2); /*3号是欧洲,2号是美洲*/ l2=(y=4)+(d=2); /*4号是亚洲,2号是大洋洲*/ l3=(y=1)+(f=5); /*1号是亚洲,5号是非洲*/ l4=(f=4)+(d=3); /*4号是非洲,3号是大洋洲*/ l5=(o=2)+(m=5); /*2号是欧洲,5号是美洲*/ if(l1=1&l2=1&l3=1&l4=1&l5=1)/*如果都成立*/ printf(%d,%d,%d,%d,%dn,y,o,f,m,d);/*输出结果*/ system(pause);3、 甲、乙、丙三人,一个人喜欢看足球,一个人喜欢看拳击,一个人喜欢看篮球。已知甲不爱看篮球,丙既不喜欢看篮球又不喜欢看足球。现有足球、拳击、篮球比赛的入场券各一张,请你根据他们的爱好,把票分给他们。参考答案:#include#includemain()short a,b,c,l1,l2;for(a=1;a=3;a+)for(b=1;b=3;b+)for(c=1;c=3;c+) l1=a!=3;l2=c=2;if(l1+l2=2&a!=b&a!=c&b!=c)printf(甲:%d,乙:%d,丙:%d(1代表足球,2代表拳击,3代表篮球)n,a,b,c);system(pause);
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 考试试卷


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!