c语言习题5讲解.ppt

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
c语言习题5讲解

第5章典型案例分析 静态变量-习题5.3 #include stdio.h int Square(int i) { return i * i; } main() { int i = 0; i = Square(i); for ( ; i3; i++) { static int i = 1; i += Square(i); printf(%d,, i); } printf(%d\n, i); } 习题5.6 计算最大公约数 利用性质: g(a,b)=g(a-b,b) ab g(a,b)=g(a,b-a) ab g(a,b)=a=b a=b 习题5.6-迭代实现 int MaxCommonFactor(int a, int b) { if (a=0 || b=0) return -1; while (a != b) { if (a b) a = a - b; else if (b a) b = b - a; } return a; } 习题5.6-递归实现 int MaxCommonFactor(int a, int b) { int c; if (a=0 || b=0) return -1; if (a b) c = MaxCommonFactor(a-b, b); else if (a b) c = MaxCommonFactor(a, b-a); else c = a; return c; } 习题9.2-递归 阅读程序,给出程序结果 #include stdio.h void Bin(int x) { if (x/2 0) Bin(x/2); printf(%d\n, x%2); } main() { Bin(12); } 习题9.3-递归 程序填空 (1)函数Y()是实现n层嵌套平方根的计算的函数 double Y(double x, int n) { if (n == 0) return 0; else return (square(x + __________))); } 习题9.3-递归 (2)函数Sum(int n)是用递归方法计算 int Sum(int n) { if (n = 0) printf(data error\n); if (n == 1) ________________________; else return ______________________; } 计算Fibonacci数列 0,1,1,2,3,5,8,...... 计算Fibonacci数列 优点: 从编程角度来看,比较直观、精炼,逻辑清楚 符合人的思维习惯,逼近数学公式的表示 尤其适合非数值计算领域 hanoi塔,骑士游历、八皇后问题(回溯法) 缺点: 每次调用都需要进行参数传递、现场保护等 从程序运行效率来看,大量重复计算,时空效率低 应尽量用迭代形式替代递归形式 程序变换技术 * C语言大学实用教程课件 制作人苏小红 * * 纲漏支搂茁襟挠乐纵愿透旗惶勇欣蘑畔喘戌般里因停畔棋玻云铭陛行珐恨c语言习题5讲解c语言习题5讲解 哈尔滨工业大学计算机科学与技术学院 苏小红 sxh@hit.edu.cn 铱剑兰畏蚀絮棱补张楔晃串装嘲招趴浅叭诵澈猪锯曝帕窃请槐磕复狈焚话c语言习题5讲解c语言习题5讲解 for循环 第1次 循环 第2次 循环 第3次 循环 循环 结束时 自动变量i 0 1 2 3 循环开始时静态变量i 1 2 6 × 循环结束时静态变量i 2 6 42 × 自动变量i 静态变量i 讼即溯迫家刺等破涉瞧藻鼻熊肝灭猜某皑豪戍织描宾龟邵人磅国脉喀扩仗c语言习题5讲解c语言习题5讲解 麻狰老导齿灵购觉可疡冠桔榨嚷肇捏福蓟志井镁九峦滩莆塔供桂量琢娱较c语言习题5讲解c语言习题5讲解 g(a,b)=g(a-b,b) ab g(a,b)=g(a,b-a) ab g(a,b)=a=b a=b 丛频吱乍层诀郭锻饺刑砸色咸演舰轰烛瑚韵刮欺沼徒窍堆八拄琴允老够庭c语言习题5讲解c语言习题5讲解 g(a,b)=g(a-b,b) ab g(a,b)=g(a,b-a) ab g(a,b)=a=b a=b 凛帜硕起房曰仟肯衣庙阻桐贿巴插构郁畅镜续直恨准办缠审续草域储抚咸c语言习题5讲解c语言习题5讲解 第1次调用 第2次调用 第3次调用 第4次调用 x 12 6 3 1 x/2 6 3 1 0 x%2 0 0 1 1 草楞凹缔旁秧农袋实

文档评论(0)

638922bb + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档