网站大量收购独家精品文档,联系QQ:2885784924

第二讲_简单程序设计练习.ppt

第二讲_简单程序设计练习.ppt

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、本文档共64页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 1013题 输入样例 1 ABCD EFGH even ABCI EFJK up ABIJ EFGH even ? 输出样例 K is the counterfeit coin and it is light. * 1013题 问题分析 此题并非要求你给出如何称量的方案,而是数据已经保证三组称量后答案唯一。不是那道传统的智商测验题。 此题可以有多种解法,这里只介绍一种比较容易想到和理解的 – 逐一枚举法。 * 1013题 总体构想 – 逐一试探法 对于每一枚硬币 isLight ? Yes. 输出, No. isHeavy ? Yes. 输出 * 1013题 定义变量存储称量结果 char left[3][7],right[3][7],result[3][7]; 数组下标 3 代表3次称量; 数组下标 7 代表每次左右至多6枚硬币,多出一个字符位置是为了方便用字符串读取的函数。 * 1013题 逐一枚举硬币的代码 for(char c=‘A’; c=‘L’;c++) if( isLight(c) ){ cout c is the counterfeit coin and it is light.\n; break; }else if( isHeavy(c) ){ cout c is the counterfeit coin and it is heavy.\n; break; } * 1013题 bool isLight(char x){ // 判断硬币x是否为轻的代码 int i; for(i=0; i3; i++) // 判断是否与三次称量结果矛盾 switch( result[i][0] ) { case u: if( ! inRight(i,x) ) return false; break; case e: if(inRight(i,x) || inLeft(i,x)) return false; break; case d: if(! inLeft(i,x)) return false; break; } return true; } * 1013题 bool isHeavy(char x){ //判断硬币x是否为重的代码 int i; for(i=0; i3; i++) // 判断是否与三次称量结果矛盾 switch( result[i][0] ) { case u: if( ! inLeft(i,x) ) return false; break; case e: if(inRight(i,x) || inLeft(i,x)) return false; break; case d: if(! inRight(i,x)) return false; break; } return true; } * 1013题 bool inLeft(int i, char x){ // 判断硬币x 是否在第i次称量左侧 int j; for(j=0; jstrlen(left[i]); j++) if(left[i][j] == x ) return true; return false; } bool inRight(int i, char x){// 判断硬币x 是否在第i次称量右侧 int j; for(j=0; jstrlen(right[i]); j++) if(right[i][j]== x) return true; return false; } * 讨论:你要在本课程上学到什么? 分析求解问题的方法 架构程序的思路 设计与调试程序的技巧 * 作业 在/ 上完成1006,1013。 阅读理解下面的程序,在不运行的前提下,给出输出结果: #include iostream.h void main

您可能关注的文档

文档评论(0)

共享文档 + 关注
实名认证
内容提供者

二级建造师持证人

该用户很懒,什么也没介绍

领域认证该用户于2023年10月07日上传了二级建造师

1亿VIP精品文档

相关文档