C++实验

作者: Thirtiseven | 来源:发表于2017-03-16 16:56 被阅读13次
    #include <iostream>
    using namespace std;
    
    int sum(int a,int b){
        return a+b;
    }
    
    void xswap(int *a,int *b){
        int t = *a;
        *a = *b;
        *b = t;
    }
    
    int main(void){
        int a,b,c,(*p1)(int,int);
        void (*p2)(int *,int *);
        cout << "XXXXXXX";
        cin >> a >> b;
        p1 = sum;
        c = p1(a,b);
        p2 = xswap;
        p2(&a,&b);
        cout << c << endl;
        cout<<"a="<<a<<"b="<<b<<endl;
        return 0;
    }
    
    
    #include <iostream>
    #include <iomanip>
    #include <cmath>
    using namespace std;
    
    double f1(double x){
        return x*x*x-6.0*x-1.0;
    }
    
    /*
    double root(double (*f)(double),double begin,double end){
        double left = f(begin);
        double point = (begin + end)/2.0;
        double mid = f(point);
        if(fabs(mid) > 10e-8){
            if(left * mid > 0){
                point = root(f,point,end);      
            }else{
                point = root(f,begin,point);
            }
        }else{
            return point;
        }
    }
    */
    
    double root(double (*f)(double),double begin,double end){
        double left = f(begin);
        double point = (begin + end)/2.0;
        double right = f(end);
        double mid = f(point);
        while(fabs(mid) > 10e-8){
            point = (begin + end)/2.0;
            mid = f(point);
            if(left * mid > 0){
                begin = point;
            }else{
                end = point;
            }
        }
        return point;
    }
    

    相关文章

      网友评论

          本文标题:C++实验

          本文链接:https://www.haomeiwen.com/subject/clljnttx.html