⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 c语言.txt

📁 还是积分函数
💻 TXT
字号:
   
  #include   <math.h>   
  #include   <stdio.h>   
  #include   <stdlib.h>   
  #include   <dos.h>   
    
  #define   MAX   4   
  #define   PI   3.141592659897932384626433832795   
  /*//#define   function(x)   (x*x)//exp(x)*cos(x)//4.0/(1+x*x)//pow(x,9)   
  */   
  #define   epsilon3   0.01   
    
  double   functi(double   x)   
  {   
          double   eve   =   0.0;     //     均值   
          double   sigma   =   1.0;   //   方差   
          return   1./(sqrt(2*PI)*sigma)*exp(-(x-eve)*(x-eve)/(2*sigma*sigma));   
  }   
    
  double   Gauss(double   a,   double   b,double   (*f)(double))   
  {   
  double   A[7];   
  double   X[7];   
  A[0]=0.1294849662;A[1]=0.1294849662;A[2]=0.2797053915;A[3]=0.2797053915;A[4]=0.3818300505;A[5]=0.3818300505;A[6]=0.4179591837;   
  X[0]=0.9491079123;X[1]=-0.9491079123;X[2]=0.7415311856;X[3]=-0.7415311856;X[4]=0.4058451514;X[5]=-0.4058451514;X[6]=0.0000000000;   
    
  double   temp=0.0;   
  int   i=0;   
  for(i=0;i<8;i++)   
  {   
  temp+=f((b-a)*X[i]/2.0+(b+a)/2.0)*A[i];//temp+=functi((b-a)*X[i]/2.0+(b+a)/2.0)*A[i];   
  }   
  temp=(b-a)*temp/2.0;   
  return   temp;   
  }   
    
  double   add(double   a,double   b,double   (*pGauss)(double,double,double(*f)(double)))   
  {   
  int   m,i=0,j=0;   
  double   temp=0.0;   
  m=(int)((b-a)/epsilon3);   
  for(i=0;i<m;i++)   
  temp+=pGauss(a+(double)i*(b-a)/(double)m,a+(double)(i+1)*(b-a)/(double)m,functi);//Gauss(a+(double)i*(b-a)/(double)m,a+(double)(i+1)*(b-a)/(double)m,functi);   
    
  printf("OK!!!\n");   
  return   temp;   
  }   
  void   main(void)   
  {   
  printf("Please   press   any   key   to   begin:\n");   
  printf("%18.14f\n",add(-1,1,Gauss}   
    
  

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -