- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
(青岛)德州 科技职业学院 3.程序 /﹡程序名:p203.c﹡/ #include<stdio.h> #include<math.h> main( ) { float a,x0,x1; printf(iunput a:); scanf(%d,a); x0=a/2; x1=(x0+a/x0)/2; while(fabs(x1-x0)>=1e-4) { x0=x1; x1=(x0+a/x0)/2; } printf(the square root of %f is %f,a,x1); } 说明 由于程序中需用到绝对值运算,故在程序中要包含“math.h”文件。 (青岛)德州 科技职业学院 5.课堂实践 求方程:x3-x-1=0在x=1.5附近的一个实根。 (青岛)德州 科技职业学院 6.2 数列求解 1.题目 设有一对新生兔子,从第3个月开始它们每个月都生一对兔子,新生的兔子也如此繁殖。假设兔子没有死亡,问一年后,共有多少对兔子? 2.分析 假设第1个月时兔子的对数为f1,第2个月时兔子的对数为f2,第3个月时兔子的对数为f3,…,根据题意,前两个月都有1对兔子,从第3个月开始,每个月的兔子有两部分组成:上一个月的老兔子和上上个月的老兔子在这个月生下的新兔子,故有: f1=1,f2=1,f3=f2+f1=2,f4=f3+f2=3,f5=f4+f3=5,… (青岛)德州 科技职业学院 由此可得出迭代公式 f1=f2=1 fn=fn-1+fn-2(n≥3) 对应于fn-1和fn-2,可以定义两个迭代变量fib1,fib2,将上面的递推公式转换如下: fib=fib1+fib2; fib1=fib2; fib2=fib; (青岛)德州 科技职业学院 3.程序 /﹡程序名:p204.c﹡/ main { int fib,fib1=1,fib2=1,n; for(n=3;n≤12;n++) {fib=fib1+fib2; fib1=fib2; fib2=fib; } printf(%d,fib); } 说明 兔子繁殖问题是个经典题目,斐波那契数列就来源于此。 (青岛)德州 科技职业学院 5.课堂实践 (1) 编写一个C程序,把下列数列延长到第55项: l,1,1,l,2,1,1,3,3,1,1,4,6,4,1,… (2) 每个苹果0.8元,第一天买2个苹果,第二天开始,每天买前一天的2倍,直至购买的苹果个数达到不超过100的最大值。编程求每天平均花多少钱? (青岛)德州 科技职业学院 任务7 采用递归的算法解决问题 在调用一个函数的过程中又出现直接或间接地调用该函数本身,称为函数的递归调用,递归算法的实质是将原有的问题分解为新的问题,而解决新问题时又用到了原有问题的解法。 (青岛)德州 科技职业学院 Void f() { printf(“Hello!”); f( ); } 直接递归(直接调用自己) f是一个直接递归函数,若在主函数中调用该函数,程序将不断地打印“Hello!”字符串,无休止的调用自身,这是不符合实际需要的,所以,在设计递归函数时,应采取措施在函数内加上控制语句,能够使得递归调用在执行有限次后终止。 (青岛)德州 科技职业学院 7.1 阶乘问题 2.分析 计算n!的公式如下: 由该公式可得出,递归的终止条件是n=0. n!= 1 (n=0) n(n-1)! (n0) 1.题目 从键盘输入一个非负整数n,求出n!的值 (青岛)德州 科技职业学院 3.程序 /﹡程序名:p701.c﹡/ #include<stdio.h> long fun(int n) { long s; if(s==0) s=1; else s=n﹡fun(n-1); return s; } main( ) { int n; printf(input a number(n>=0):); scanf(%d,n); printf(%d!=%ld,n,f(n)); } * (青岛)德州科技职业学院 (青岛)德州 科技职业学院 算法(algonthm)就是为解决一个问题而采取的方法和步骤。比如:歌曲的乐谱,拳术的图解等。对于同一个问题,可以有不同的解题方法和步骤。 计算机算法就是计算机能执行的算法。 数值运算算法 例如求定积分、方程的解等 非数值运算算法 例如:图书管理、人事管理、交通调度等 算法分类 (青岛)德州 科技职业学院 任务5 采用穷举算法解决问题 穷举算法的基本思想是:对问题的所有可能状态一一测试,直到找到解或全部可能状态都测试完毕为止(无解)。 5.1 劳动分工问题 1.题目 36块砖,36人搬;男搬4,女搬3,两个小孩抬一砖,要求一次全搬完,问男、女、小孩各
文档评论(0)