xt6-13.cpp
上传用户:liubin
上传日期:2022-06-13
资源大小:85k
文件大小:1k
源码类别:

书籍源码

开发平台:

Visual C++

  1. #include <iostream>
  2. #include <cmath>
  3. using namespace std;
  4. int main()
  5. {float integral(float (*p)(float),float a,float b,int n);
  6.  float a1,b1,a2,b2,a3,b3,c,(*p)(float);
  7.  float fsin(float);               // 对fsin函数作声明 
  8.  float fcos(float);               // 对fcos函数作声明 
  9.  float fexp(float);               // 对fexp函数作声明 
  10.  int n=20;
  11.  cout<<"input a1,b1:";           //输入求sin(x) 定积分的下限和上限 
  12.  cin>>a1>>b1;          
  13.  cout<<"input a2,b2:";         // 输入求cos(x) 定积分的下限和上限 
  14.  cin>>a2>>b2;
  15.  cout<<"input a3,b3:";         // 输入求#include <iostream>
  16.  cin>>a3>>b3;
  17.  p=fsin;
  18.  c=integral(p,a1,b1,n);           // 求出sin(x)的定积分 
  19.  cout<<"The integral of sin(x) is :"<<c<<endl;
  20.  p=fcos;
  21.  c=integral(p,a2,b2,n);           // 求出cos(x)的 定积分 
  22.  cout<<"The integral of cos(x) is :"<<c<<endl;;
  23.  p=fexp;
  24.  c=integral(p,a3,b3,n);           // 求出 的定积分 
  25.  cout<<"The integral of exp(x) is :"<<c<<endl;
  26.  return 0;
  27. }
  28. float integral(float (*p)(float),float a,float b,int n)   
  29.            //用矩形法求定积分的通用函数
  30. {int i;
  31.  float x,h,s;
  32.  h=(b-a)/n;
  33.  x=a;
  34.  s=0;
  35.  for (i=1;i<=n;i++)
  36.   {x=x+h;
  37.    s=s+(*p)(x)*h;
  38.   }
  39. return(s);
  40. }
  41. float fsin(float x)                    // 计算sin(x) 的函数 
  42. {return sin(x);}
  43. float fcos(float x)                    // 计算cos(x) 的函数 
  44. {return cos(x);}
  45. float fexp(float x)                    // 计算exp(x)的函数 
  46. {return exp(x);}