C语言综合程序设计.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
知识回顾 常见数据类型:int ,float,char 等; 常见的运算符:赋值、算术、关系、逻辑,逗号等; 常见表达式:赋值、算术、关系、逻辑,逗号等; 三种基本结构:顺序、选择、循环; 三种基本的选择语句; 三种基本的循环语句; 本讲知识要点 嵌套循环; 理解掌握嵌套循环的执行顺序; 基本算法策略(穷举、迭代与递推); 较复杂、综合的程序设计; 一、循环的嵌套 循环的嵌套:一个循环体内又包含另一个完整的循环结构。 3种循环(while、do…while、for循环)可以相互嵌套。可参见课本P121 例1:编程输出九九乘法口诀表 输出形式如下: 1*1=1 1*2=2 2*2=4 1*3=3 2*3=6 3*3=9 … 1*9=9 2*9=18 3*9=27…9*9=81 //参考源程序 例:素数的判断问题。编程输出100~200之间所有的素数。 先阅读P126 例6.8 分析: 素数:除了1以外,不能被其他任何数整除的数。 对于100~200之间的每一个数都要做判断---是否为素数,即其不能被从2开始到自身的每一个数整除; 算法流程图 源程序 #includestdio.h main( ) { int m,i; for(m=100;m=200;m++) { for(i=2;im;i++) if(m%i==0) //去整除从2开始的每一个数 break; //如果整除==0,表示此数不是素数,所以结束本次(内层)循环,开始下一轮(外围)循环; if(i=m) //表示没有一个数能够整除,即此数为素数; printf(%d ,m); } } /*另解*/ #includestdio.h #includemath.h main() { int m,i,k; for(m=100;m=200;m++) { k=sqrt(m); for(i=2;i=k;i++) //与上例相比,将判断的范围缩小了 if(m%i==0) break; if(i=k+1) printf(%d ,m); } } 二、基本算法 穷举法:待解问题的答案“隐藏”在多个可能之中,对这多种可能的情形一一进行测试,从而找出符合条件的解。 例:百钱百鸡问题。鸡公值五钱,鸡母值三钱,三小鸡值一钱,凡百钱买百鸡,问鸡公、鸡母、小鸡各多少? 分析 假设鸡公、鸡母、小鸡的数量分别为cocks,hens,chicks, 则可以得出以下模型: 5*cocks+3*hens+chicks/3=100; /*100钱*/ cocks+hens+chicks=100; /*100只鸡*/ 其中0=cock=20;0=hens=33;0=chicks=99; 穷举过程 依次对cocks,hens,chicks取值范围内的各数一一进行试探,找出满足前面两个方程的组合解。 源程序1 #includestdio.h main() { int cocks,hens,chicks; for(cocks=0;cocks=20;cocks++) /*穷举cock*/ for(hens=0;hens=33;hens++) /*穷举hen*/ for(chicks=0;chicks=99;chicks++) /*穷举chick*/ { if((5*cocks+3*hens+chicks/3==100)(cocks+hens+chicks==100)) printf(cocks=%d,hens=%d,chicks=%d\n,cocks,hens,chicks); } } 另解 基本算法 迭代:用不断变化的新值替代旧值;如银行存款利率计算。 递推:由一个变量的值推出另外变量的值;如fibonacci数列问题; 两者没有严格的区别。 使用迭代与递推关键是通过观察、分析,找出前项与后项之间的关系---迭代或递推的关系。 例:编程输出Fibonacci数列前10项 Fibonacci数列规律:前两项为1,从第3项开始,每项等于前两项的和; 即:F(1)=1,F(2)=1,F(3)=2,F(4)=3…F(n)=F(n-1)+F(n-2); 从第3项开始规律: F(n)=F(n-1)+F(n-2); 源程序 例:猴子吃桃问题。课本P129 6.10 时间 剩余桃子数 吃的桃子数 10天 1 9天 t 8天 x x/2+1

文档评论(0)

junjun37473 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档