b****t 发帖数: 82 | 1 今天用microsoft visual studio 2005 编译一个例子。例子如下:
float f1(x)
float x;
{
float f;
f=1+x*x;
return f;
}
float integral(fun,a,b)
float (*fun)(),a,b;
{
float s,h,y;
int n,i;
s=((*fun)(a)+(*fun)(b))/2.0;
n=100;
h=(b-a)/n;
for(i=1;i
s=s+(*fun)(a+i*h);
y=s*h;
return(y);
}
main()
{
//float f1(), integral();
float y1;
y1=integral(f1,0.,1.);
printf("y1=%6.2f\n",y1);
}
这个能够得到正确结果1.33
程序第二行参数说明是用的Kenighan-Ritchie的标准。当我合并第一和第二行为
float f1( | k****f 发帖数: 3794 | 2 integral的fun定义错了吧
【在 b****t 的大作中提到】 : 今天用microsoft visual studio 2005 编译一个例子。例子如下: : float f1(x) : float x; : { : float f; : f=1+x*x; : return f; : } : float integral(fun,a,b) : float (*fun)(),a,b;
|
|