第4章函数应用举.ppt_第1页
第4章函数应用举.ppt_第2页
第4章函数应用举.ppt_第3页
第4章函数应用举.ppt_第4页
第4章函数应用举.ppt_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第4章 函数应用举例,1、 输入两个整数,求出较大者,用函数完成。 2、计算e=1+1/1!+1/2!+1/n! (1/n!1e-5)用函数实现。 3、编写函数分别求两个数的最大公约数与最小公倍数。 4、打印3100内的素数 ,用函数完成。 5、用递归方式计算数列:1,1,2,3,5, 前20项,即 n=20。 6、设计一函数,求cmn 7、设计一递归函数,求1+3+5+99。 8、设计一递归函数,求x的y次幂。,9、函数重载,编程求出几个int型数中最大的一个。 10、设计三个求面积的函数,然后自行输入数据进行测试。 1)float area(float r) /求圆的面积。 2)float

2、 area(float a,float b) /求矩形的面积。 3) float area(float a,float b,float c) /求长方体的表面积。长方体表面积公式:2*(a*b+a*c+b*c)。 11、编写分别可计算2、3或4个int型数的和的重载函数,并写主函数调用之。 12、用函数重载,求任意两个数中的最大值。类型不同 13、求任意两个数中的最大值。使用函数模板做。 14、设计一个函数模板,求x的y次幂。,例1、输入两个整数,求出较大者,用函数完成。,#include using namespace std; int max(int x, int y); void mai

3、n( ) int a,b,c; coutab; c=max(a,b); couty) ? x : y ; return(z); ,2、计算e=1+1/1!+1/2!+1/n! (1/n!1e-5)用函数实现,#include #include using namespace std; void main() float jc(int m); float e=1,t1=1; int i; for (i=1; fabs(t1)1e-5;i+) t1=1.0/jc(i); e=e+t1; coute=e,; couti=iendl; ,float jc( int m) float t=1; int

4、k; for(k=1; k=m; k+) t=t*k; return t; ,3、编写函数分别求两个数的最大公约数与最小公倍数。,#include using namespace std; int hcf(int x,int y) while(x !=y) if(xy)x=x-y; else if(yx) y=y-x; return y; int led(int x,int y) return x*y/hcf(x,y); void main() int m,n; coutmn; cout最大公约数=hcf(m,n); cout,最小公倍数=led(m,n)endl; ,3、编写函数分别求两个数

5、的最大公约数与最小公倍数。,#include using namespace std; int hcf(int x,int y) int r; while(y !=0) r=x%y ; x=y; y=r; return x; int led(int x,int y) return x*y/hcf(x,y); void main() int m,n; coutmn; cout最大公约数=hcf(m,n); cout,最小公倍数=led(m,n)endl; ,4、打印3100内的素数 ,用函数完成。,#include using namespace std; bool Prime(int n) i

6、f(n=1) return false; for(int i=2;in;i+) if(n%i=0) return false; return true; void main() int m; coutthe prime number is:n; for(m=3;m100;m+=2) if(Prime(m) coutmt; coutendl; ,例5、用递归方式计算数列:1,1,2,3,5, 前20项,即 n=20。,#include int f(int n) if(n2) return (f(n-1)+f(n-2); else return 1; void main() int n,i; co

7、utn; for(i=1;i=n;i+) if(i)%6=0 ) coutf(i)endl; else coutf(i)t; coutendl;,6、设计一函数,求cmn,#include using namespace std; long fun(int m,int n) if(m=n | n=0) return 1; else return m*fun(m-1,n)/(m-n); void main() int m,n; coutmn; coutc(m,n)=fun(m,n)endl; ,7、设计一递归函数,求1+3+5+99。,#include using namespace std;

8、long fun(int n) if(n=1)return 1; else return 2*n-1+fun(n-1); void main() int n; coutn; cout1+2+3+.+2*n-1=fun(n)endl; ,8、设计一递归函数,求x的y次幂。,#include using namespace std; double power(double x,double y) if(y=0)return 1; else return x*power(x,y-1); void main() double x; unsigned y; coutxy; coutpower(x,y)=

9、power(x,y)endl; ,9、函数重载,编程求出几个int型数中最大的一个。,#include using namespace std; int max(int,int),max(int,int,int),max(int,int,int,int); void main() coutb ? a : b; int max(int a,int b,int c) int t=max(a,b); return max(t,c); int max(int a,int b,int c,int d) int t1=max(a,b); int t2=max(c,d); return max(t1,t2)

10、; ,10、函数重载,计算圆的面积,矩形面积和长方体表面积。,#include using namespace std; const float PI=3.1415; float area(float r) return PI*r*r; float area(float x,float y) return x*y; float area(float x,float y,float z) return 2*(x*y+x*z+y*z); void main() float a,b,c,r; coutr; coutab; coutabc; cout长方体的表面积: area(a,b,c) endl;

11、 ,11、编写分别可计算2、3或4个int型数的和的重载函数,并写主函数调用之;,#include using namespace std; int add(int a, int b); int add(int a, int b, int c); int add(int a,int b,int c,int d); void main() int x,y,z,m; coutxyzm; coutadd( x,y,z,m)endl; coutadd(x,y,z)endl; coutadd(x,y)endl; int add(int a,int b) return a+b; int add(int a

12、,int b,int c) return a+b+c; int add(int a,int b,int c,int d) return a+b+c+d;,12、求任意两个数中的最大值。类型不同,#include /函数重载 int max(int,int); double max(double,double); char max(char ,char); void main() couty) return x; else return y; double max (double x, double y) if (xy) return x; else return y; char max (char x, char y) if (xy) return x; else return y; ,13、求任意两个数中的最大值。使用函数模板做。,#include using namespace std; template T max(T x,T y) if (xy) return x; else return y; void main() int n1(2),n2(10); double d1(1.5),d2(5.6); char x=a,y=g; coutmax=max(n1,n2)endl; coutmax=max(d1,d2)endl; c

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论