- 1、本文档共43页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
【例7】: (四大湖问题)上地理课时,四个学生回答我国四个淡水湖大小时说: A学生:洞庭湖最大,洪泽湖最小,鄱阳湖第3 B学生:洪泽湖最大,洞庭湖最小,鄱阳湖第2,太湖第3 C学生:洪泽湖最小,洞庭湖第3 D学生:鄱阳湖最大,太湖最小,洪泽湖第2,洞庭第3 对于湖的大小,每个学生仅答对一个,请编程判断四个湖的大小 1.分析与算法设计 (1)定义变量: a—洞庭湖,a可能的取值{1,2,3,4} b—洪泽湖,b可能的取值{1,2,3,4} c—鄱阳湖,c可能的取值{1,2,3,4} d—太湖, d可能的取值{1,2,3,4} a,b,c,d四个变量的取值互不相同,1表示最大,四表最小 (2) 用变量表示条件 A学生的叙述可表示为:a==1, b==4,c==3 这是三个关系表达式,由于每个学生的叙述只有一个正确,所以这三个关系表达式的值的和应等于1。 A学生的叙述可表示成: ( (a==1)+(b==4)+(c==3))==1 同理,B学生的叙述表示成: ((b==1)+(a==4)+(c==2)+(d==3))==1 C学生的叙述可表示成: ((b==4)+(a==3)) ==1 D学生的叙述可表示成: ((c==1)+(d==4)+(b==2)+(a==3))==1 for(a=1;a=4;a++) for(b=1;b=4;b++) for(c=1;c=4;c++) for(d=1;d=4;d++) { ca=((a==1)+(b==4)+(c==3))==1; cb=((b==1)+(a==4)+(c==2)+(d==3))==1; cc=((b==4)+(a==3) )==1; cd=((c==1)+(d==4)+(b==2)+(a==3))==1; if(ca cb cc cd) { printf(TongTing=%d\n,a); printf(Hongzhe=%d\n,b); printf(Poyang=%d\n,c); printf(Taihu=%d\n,d); } }//end for (3) 穷举: 穷举a,b,c,d四个变量的所有可能取值,进行测试,满足前述四个条件的取值就是我们所要的结果 【例8】(白帽子和红帽子问题)厅内有5个人,他们均戴着帽子-白帽子和红帽子。已知戴白帽子的说真话,戴红帽子的说假话,请从他们各自提供的线索辨别谁戴白帽子,谁戴红帽子。 甲:我看见一个戴白帽子的 乙:我没有看见戴红帽子的 丙:我看见一个戴白帽子的,但不是甲 丁:我没有看见戴白帽子的 戊:我的帽子和丙一样 ⑴ 定义变量 用5个整型变量a,b,c,d,e分别表示甲、乙、丙、丁、戊,1表示戴白帽子,0表示戴红帽子。 ⑵ 写出五个人所说的每句话的逻辑表达式 甲:(b+c+d+e==1) 乙:(a+c+d+e==4) 丙:(b+d+e==1) 丁:(a+b+c+e==0) 戊:(e==c) 这里只是简单地将五个人说的话写成了表达式,但这还不够,由于这五个人本身有些说真话,有些说假话,因此如何判断上述五个表达式的真假呢? 思考:每个人说话的真假与他所戴的帽子有关,如果他戴的是白帽子,则他说真话;如果他戴的是红帽子,则他所说的是假话,这样将每个人帽子颜色与他说的话直接联系起来,因此上述条件可表示成: 甲:(b+c+d+e==1)==a 乙:(a+c+d+e==4)==b 丙:(b+d+e==1)==c 丁:(a+b+c+e==0)==d 戊:(e==c)==e void main() { int a,b,c,d,e,c1,c2,c3,c4,c5; for(a=0;a=1;a++) for(b=0;b=1;b++) for(c=0;c=1;c++) for(d=0;d=1;d++) for(e=0;e=1;e++) { c1=(b+c+d+e==1)==a; c2=(a+c+d+e==4)==b; c3=(b+d+e==1)==c; c4
您可能关注的文档
- 现代汉语语法第六节之句类.ppt
- 现代社会的人际沟通桥梁.ppt
- 现代西方教育理论.ppt
- 现代诗歌品读修订.ppt
- 现代诗歌赏析来生愿做一棵树.ppt
- 现代语境下的伦理学.ppt
- 现代语言学的开拓(二).ppt
- 现代诗诵读课爸爸回家.ppt
- 现代通信交换技术3 (2).ppt
- 现代通信交换技术3.ppt
- 全国青岛版信息技术九年级上册第4单元第7课《程序的基本结构》说课稿.docx
- 《轿车车身总布置》课件.ppt
- 9 生活离不开规则 (说课稿)2023-2024学年统编版道德与法治三年级下册[001].docx
- 消防工程中的消防应急通信系统设计与施工.pptx
- 《软件的编码与测试》课件.ppt
- 《消费大家谈》(说课稿)五年级上册综合实践活动安徽大学版[001].docx
- 《轮减数分裂》课件.ppt
- 《轮复习多变的价格》课件.ppt
- 消防工程中的消防应急通信指示系统设计与施工.pptx
- Unit 1Let’s be friends! Get ready & Start up(说课稿)-2024-2025学年外研版(三起)(2024)英语三年级上册.docx
文档评论(0)