C++实验7

    xiaoxiao2021-03-25  140

    一、宏梯形面积

    #include<iostream> using namespace std; #define AREA(a,b,h) ((a)+(b))/2*(h) //宏定义中将参数用括号括起来很重要,否则若h=4+5; float area(float a,float b, float h) { return (a+b)/2*h; } void main() { float a,b,c; cout<<"请依次输入梯形的长、宽、高:\n"; cin>>a>>b>>c; cout<<"面积是:\n"; cout<<AREA(a,b,c)<<"(宏定义)\n"; cout<<area(a,b,c)<<"(函数定义)"<<endl; }

    二、静态变量Fibonnaci数列

    #include<iostream> using namespace std; void fibonaci() { static int n=1; static int n1=1; static int n2=1; static int n3; if(n==1) { cout<<n1<<'\t'; n++;//不要忘记n++,否则永远输出1; return; } if(n==2) { cout<<n2<<'\t'; n++; return; } cout<<n1+n2<<(n%10==0?'\n':'\t'); int temp; temp=n2,n2=n2+n1;n1=temp; n++; } void main() { int n=20; cout<<"Fibonaci数列前20项为:\n"; for(int i=0;i<n;i++) fibonaci(); }

    三、重载函数圆、矩形、梯形面积

    #include<iostream> using namespace std; #define _USE_MATH_DEFINES #include<math.h> float area(float); float area(float,float); //float area(float a=10,float b=10); //这种情况下不能缺省,否则area()函数定义不明确 float area(float,float,float); void main() { cout<<area(1)<<'\n'; cout<<area(10,20)<<'\n'; cout<<area(10,20,10)<<endl; } float area(float a) {return float(M_PI)*a*a;} float area(float a,float b) {return a*b;} float area(float a,float b,float c) {return (a+b)/2*c;}
    转载请注明原文地址: https://ju.6miu.com/read-17741.html

    最新回复(0)