实验4 函数的应用 【实验目的】 1掌握函数声明、定义和调用的方法; 2了解函数调用的实参与形参的传递,以及参数默认值的设置。 3掌握重载函数的实现方法。 4理解递归和嵌套函数的概念、定义与调用。 【实验内容】 ⒈分别输入整数半径和实数半径,使用函数重载计算圆的面积。 #include <iostream.h> #define PI 3.14 int area(int); float area(float); void main() { int r1; cout<<"Input a integer r="; cin>>r1; cout<<"area="<<area(r1)<<endl; float r2; cout<<"Input a float r="; cin>>r2; cout<<"area="<<area(r2)<<endl; } int area(int x) { return PI*x*x; } float area(float x) { return PI*x*x; } ⒉使用内联函数计算长方形的面积。 #include <iostream.h> inline float s(float x,float y); void main() { float a,b; cout<<"Input two float a,b="; cin>>a>>b; cout<<"s="<<s(a,b)<<endl; } float s(float x,float y) { return x*y; } ⒊编写程序,求    #include <iostream.h> long fact(int); void main() { int m,n; double c; cout<<"please input"<<endl; l1: cout<<"n="; cin>>n; cout<<"m="; cin>>m; if (n<m) { cout<<"n must bigger than m.please reinput:"<<endl; goto l1; } c= fact(n)/( fact(m)* fact(n-m)); cout<<"c="<<c<<endl; } long fact(int k) { if((k==0)||(k==1)) return 1; else return fact(k-1); } ⒋编写程序用公式:π=16arctan(1/5)-4 arctan(1/239)求π。 其中: arctan(x)=x/1-x3/3+ x5/5+‥‥+(-1)nx2n+1/(2n+1)+ ‥‥直到级数某项绝对值不大于10-15为止;π和x均为double型。 #include<iostream.h> void main( ) { double a,b; double arctan(double x); a=16.0*arctan(1/5.0); b=4.0*arctan(1/239.0); cout<<"PI="<<a-b<<endl; } double arctan(double x) { int i; double r,e,f,sqr; sqr=x*x; r=0; e=x; i=1; while(e/i>1e-15) { f=e/i; r=(i%4==1)? r+f : r-f; e=e*sqr; i+=2; } return r; } ⒌寻找并输出11~999之间的数m,它满足m、m2和m3均为回文数。 注:回文:各位数字左右对称的整数。 例如:11满足上述条件 112=121,113=1331。 #include <iostream.h> void main( ) { bool symm(long n); long m; for(m=11;m<1000; m++) if (symm(m)&&symm(m*m)&&symm(m*m*m)) cout<<"m="<<m<<" m*m="<<m*m<<" m*m*m="<<m*m*m<<endl; } bool symm(long n) { long i, m; i=n; m=0; while(i) {m=m*10+i%10; i=i/10; } return ( m==n ); }