C语言详解 之 函数参数的实现

来源:互联网 发布:linux c实现web服务器 编辑:程序博客网 时间:2024/06/11 02:18

#include <stdio.h>
#include <math.h>
void trap(double a,double b, int n, double f(double arg));

double g(double x);

double h(double x);

int main()
{
 double a,b;
 int n;
 printf("区间左端点:");
 scanf("%lf",&a);
 printf("区间右端点:");
 scanf("%lf",&b);
 printf("区间分段数:");
 scanf("%d",&n);
 trap(a,b,n,h);
 return 0;
}


void trap(double a,double b ,int n,double f(double arg))
{
 double T;
 double h=(b-a)/n;
 double sum=0.0;
 for(int i=1;i<=n-1;i++)
 {
  double x = a+i*h;
  sum += f(x);
 }

 T = h*(f(a) + f(b) + 2*sum)/2;
 printf("the area is %f",T);
}


double g(double x)
{
 return x*x*sin(x);
}

double h(double x)
{
 return  sqrt(4-x*x);
}

 

程序中实现了函数参数的使用。程序主要是求取一个函数f(x)围成的图形的面积。

 

在计算方法中有类似的方法,应该是龙倍格算法。

 

新意在于:函数的参数是另一个函数,增强了函数的实用性

原创粉丝点击