欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    第4章--习题解析---逻辑思维(共8页).doc

    • 资源ID:14119569       资源大小:30.50KB        全文页数:8页
    • 资源格式: DOC        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第4章--习题解析---逻辑思维(共8页).doc

    精选优质文档-倾情为你奉上第4章 习题解析-逻辑思维13个人比饭量大,每个人说了两句话。 A说:B比我吃得多,C和我吃得一样多。 B说:A比我吃得多,A也比C吃得多。 C说:我比B吃得多,B比A吃得多。 事实上饭量越小的人讲对的话越多。请编程按饭量的大小输出3个人的顺序。 算法分析: 1)把每个人的饭量分别用整数1,2,3来表示,数字越大就表示这个人的饭量越大,由于题目中A说的话中提到了有可能两个人的饭量相同,也就是说代表3个人饭量的数字有可能相等。2)用一个三重循环来枚举每个人的饭量,分别用A,B,C表示这3个人的饭量。将这3个人说的话As,Bs,Cs写成表达式: As=(B>A)+(C=A); Bs=(A>B)+(A>C); Cs=(C>B)+(B>A);3)根据题意,饭量越小的人讲对的话越多,也就是说,不存在两个人,其中一个人的饭量比另一个人小,且说对的话不比另一个人多。当变量满足这个条件时,就可以输出这组解了。 #include <iostream.h>/ 4-1-饭量比较参考程序 int main( ) int A,B,C,as,bs,cs; /定义3个变量,分别表示3个人 for (A=1;A<=3;A+) / 枚举A for (B=1;B<=3;B+) / 枚举B for (C=1;C<=3;C+) / 枚举C as=(B>A)+(C=A); bs=(A>B)+(A>C); cs=(C>B)+(B>A); if (!(A>=B)&&(as>=bs)|(A>=C)&&(as>=cs) |(B>=C)&&(bs>=cs)|(B>=A)&&(bs>=as) |(C>=A)&&(cs>=as)|(C>=B)&&(cs>=bs) cout << "A= " << A << endl; cout << "B= " << B << endl; cout << "C= " << C <<endl; /输出结束 /循环结束 return 0; 输出结果:A=3 B=1 C=224名专家对4款赛车进行评论A说:2号赛车是最好的。 B说:4号赛车是最好的。 C说:3号不是最佳赛车。 D说:B说错了。 事实上:只有一款赛车最佳,且只有一名专家说对了,其他3人都说错了。请编程输出最佳车的车号,以及哪位专家说对了。 算法分析 根据题意,只有一款赛车最佳。这就有4种情况,可以枚举这4种情况,采用循环结构,令变量为BestCar,取4个可能的车号。 将A,B,C,D说的话与BestCar联系起来,有As=(BcstCar=2);Bs=(BestCar=4);Cs=(BestCar!3);Ds=(BestCar!4);根据题意,只有一名专家说对,因此在程序中使用如下的判定条件:if (As+Bs+Cs+Ds=1)即可判定BestCar的取值,就是最佳车号,同时再测试As,Bs,Cs,Ds哪个取值为1,就输出该专家。 #include <iostream.h>>/ 4-2, 最佳汽车参考程序 int main( ) int car,as,bs,cs,ds; for (car=1;car<=4;car+) / 枚举每款汽车 as=(car=2); bs=(car=4); cs=(car!=3); ds=!bs; if (as+bs+cs+ds=1) cout << "car " <<car<< endl; if (as=1) cout << "A "<< endl; if (bs=1) cout << "B "<< endl; if (cs=1) cout << "C "<< endl; if (ds=1) cout << "D " <<endl; /输出结束 /循环结束 return 0; 输出结果:car 3 , 4号专家说对了 35位跳水高手参加10m高台跳水决赛,有好事者让5人据实力预测比赛结果。 A选手说:B第二,我第三; B选手说:我第二,E第四; C选手说:我第一,D第二; D选手说:C最后,我第三; E选手说:我第四,A第一; 决赛成绩公布之后,每位选手的预测都只说对了一半,即一对一错。请编程解出比赛实际名次。算法分析: 用变量A,B,C,D,E表示5个选手的排名,取值在l,2,3,4,5。 枚举每个选手的名次,这可以通过一个五重循环来实现。根据题意,每个人说的话可以写成如下形式:As=(B=2)+(A=3);Bs=(B=2)+(E=4);Cs=(C=1)+(D=2);Ds=(C=5)+(D=3);Es=(E=4)+(A=1);由于每个人只说对了一句话,即判定条件为:if(As=1&&Bs=1&&Cs=1&&Ds=1&&Es=1)每个人名次不同:ABCDE这样就可以判定出每个选手的名次了,然后再按排名顺序输出即可。 #include <iostream.h> / 习题4.3-跳水名次 int main( ) int A,B,C,D,E,ta,tb,tc,td,te; for (A=1;A<=5;A+) / 枚举A for (B=1;B<=5;B+) / 枚举B for (C=1;C<=5;C+) / 枚举C for (D=1;D<=5;D+) / 枚举D for (E=1;E<=5;E+) / 枚举E ta=(B=2)+(A=3); tb=(B=2)+(E=4); tc=(C=1)+(D=2); td=(C=5)+(D=3); te=(E=4)+(A=1); if(ta=1)&&(tb=1)&&(tc=1)&&(td=1)&&(te=1)&& (A!=B)&&(A!=C)&&(A!=D)&&(A!=E) &&(B!=A)&&(B!=C)&&(B!=D)&&(B!=E) &&(C!=A)&&(C!=B)&&(C!=D)&&(C!=E) &&(D!=A)&&(D!=B)&&(D!=C)&&(D!=E) &&(E!=A)&&(E!=B)&&(E!=C)&&(D!=E) /输出判断结果 cout << "A= " << A << endl; cout << "B= " << B << endl; 21 cout << "C= " << C <<endl; 22 cout << "D= " << D <<endl; 23 cout << "E= " << E <<endl; 24 25 / 循环结束26 return 0;27 输出结果 A=3 B=2 C=5 D=2 E=44我国有4大淡水湖。A说:洞庭湖最大,洪泽湖最小,鄱阳湖第三。B说:洪泽湖最大,洞庭湖最小,鄱阳湖第二,太湖第三。C说:洪泽湖最小,洞庭湖第:。D说:鄱阳湖最大,太湖最小,洪泽湖第二,洞庭湖第三。4个人每个人仅答对了一个,请编程给出4个湖大小。算法分析:1)用汉语拼音表示4个湖名:洞庭湖:Dongting 洪泽湖: Hongze 鄱阳湖: Poyang 太湖: Tai2)令湖的大小依次为1,2,3,4。1 表示最大,4表示最小。3)将4个人说的话写成表达式: As=(Dongting=1)+(Hongze=4)+(Poyang=3);Bs=(Hongze=1)+(Dongting=4)+(Poyang=2)+(Tai=3);Cs=(Hongzc=4)+(Dongting=3);Ds=(Poyang=1)+(Tai=4)+(Hongze=2)+(Dongting=3);4)用1,2,3,4去枚举每个湖的大小,可以通过四重循环来实现。题目说4个人每个人只答对了一句,也就是说程序中的判定条件为: if (As=1&&Bs=1&Cs=1&&Ds=1) 这样就可以确定4个湖的大小了,随后按照从大到小的顺序输出这4个湖。 输出结果: 鄱阳湖1, 洞庭湖2 太湖3 洪泽湖4参考程序:#include <iostream> using namespace std;int main() / 主函数 int d,h,p,t,as,bs,cs,ds;for (d=1;d<=4;d+) for (h=1;h<=4;h+) for (p=1;p<=4;p+) for (t=1;t<=4;t+) as=(d=1)+(h=4)+(p=3); bs=(h=1)+(d=4)+(p=2)+(t=3);cs=(h=4)+(d=3);ds=(p=1)+(t=4)+(h=2)+(d=3);if (as=1&&bs=1&cs=1&&ds=1)&&(d!=h&&d!=p&&d!=t) &&(h!=p&&h!=t)&&(p!=t) cout<<"d="<<d<<endl; cout<<"h="<<h<<endl;cout<<"p="<<p<<endl;cout<<"t="<<t<<endl; 专心-专注-专业

    注意事项

    本文(第4章--习题解析---逻辑思维(共8页).doc)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开