实验8-函数(2)(1)

实验8-函数(2)(1)

ID:28071703

大小:172.10 KB

页数:8页

时间:2018-12-07

实验8-函数(2)(1)_第1页
实验8-函数(2)(1)_第2页
实验8-函数(2)(1)_第3页
实验8-函数(2)(1)_第4页
实验8-函数(2)(1)_第5页
资源描述:

《实验8-函数(2)(1)》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、实验8函数嵌套调用及函数重载与带默认参数值的函戣【实验目的】1:掌握函数嵌套的概念及嵌套中的相互调川关系。2:理解并掌握函数递归调用的方法,学会用递归调用的方法解决实际问题。3:了解A联函数,函数重载及带默认参数值的函数用法。二、实验内容-上机调试理解例1.编写函数求代数式的值。分析:本题采用函数嵌套来解决,在主函数中调用了sum求和函数,在sum函数中又调用了power函数求幂。源程序:#includeintsum(int);//函数原型声明,因为函数先被主函数main中调用使用,后定义其功能。

2、intpower(int);voidmain(){intn;n二5;cout«sum(n);//调用sum()函数,这里ri为实参,传值调用}intsum(intx)//函数定义,功能是求各数字的幂和,这里x为形参{inti,s=0;for(i=l;i〈=x;i++)s+=power(i);//循环5次,每次调用power()函数,这里i为power函数形参对应的实参,传值调用returns;//将最后累加求和的结果值作为函数值返回到main()主调函数}intpower(inty)//函数定义,功能是求各数字的幂,这里

3、y为形参{inti,p=l;for(i=l;i〈=y;i++)p*二y;returnp;//将每次的函数值返回到sum()函数例2.分别用用递归算法和非递归算法实现1!+2!+3!+…+n!非递归算法-源程序:分析.•求阶乘的函数需要一个整型形参,函数类型为double,由于在主函数中要求l!+2!+"*+n!,因此要循环调用该函数求累加和。#includedoublefa(intn);//函数原型说明voidmain(){intn;cin»n;doubles=0.0;for(inti=l;i〈=

4、n;i++)s+=fa(i);//在循环体多次中调用fa()函数,这里i为实参,传值调用cout〈entsandSettingsAd>inistratorDebugz.exe*66的阶乘为:8?3Pressanykeytocontinue^递归算法-源程序:知识点:递归函数又叫自调用函数,

5、其特点是在函数体内部直接或间接地自己调用自己。利用函数的递归调用,可将一个复杂问题分解为一个相对简单且可直接求解的子问题;然后将这个子问题的结果逐层进行回代求值,最终求得原来复杂问题的解。包括两个阶段:(1)递推阶段:将原问题不断分解成为新问题,逐渐从未知方向向己知方向推测,最终达到己知的条件,即递归结束条件。如:if(n==l)return1;(2)回归阶段:从己知条件出发,逐一求值回归,最后达到递推开始处,结束回归阶段。如:returnfac(n-l)*n;使用这种算法会使程序简洁明了,可读性好。这种算法也会増加运行

6、中的时间和空间的开销,因为它需要足够的内存存放中间结果。建议在内存小速度慢的机器上不使用这种方法。B谋堂练习-记莩本ITIPIB艾件(Z)灌错(E)格式査若(Y)帮助QI)

7、ttincludedoublefac(int)//函数原型申明uoidmain()doubles=8;for(inti=1;i<=18;i++)s+=fac(i);cout〈〈"初为:B,<

8、if(n==B

9、

10、n==1)f=1;IIelsef=fac(n-1)*n:Ire

11、turnf;}VLaLColi例3.编写两个名为add的重载函数,分别实现两个整数相加和和两实数相加的功能。知识点:所谓函数重载,就是赋予同一函数名但多个含义。具体地说,C++中允许在相同的作用域内,为了编程方便,以相同的名称定义几个不同函数的实现,只是处理对象(参数)不同。定义重载函数时,要求同名函数的参数表必须有差异,而对返回值的类型没有要求。重载函数的参数表差异可以是:要么参数的个数不同;要么至少有一个参数的类型不同。编译器便知道在什么情况下该调用哪个函数。源程序:#includeintad

12、d(int,int);//函数原型说明doubleadd(double,double);voidmain(){intm,n;doublex,y;cin»m>>n;cout<〈”两整数和:”<>x»y;cout〈〈”两实数和:”«add(x,y)«endl;

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。