#include <stdio.h>
#include <math.h>
double f(double x){
return (x*x);
}
double integrateF(double (function)(double) ){
double area;
double x_width;
int k; // Counter necessary for For-Loop
int n; // # of bars
double min; // Limit min
double max; // Limit max
printf("Please enter the limit minima, 'a'==>\n");
scanf("%lf",&min);
printf("Please enter the limit maxima, 'b'==>\n");
scanf("%lf",&max);
printf("Please enter # of bars needed to span [a,b]==>\n");
scanf("%d",&n);
x_width=(max-min)/n;
for(k=1;k<=n;k++){
area+=function(min+x_width*(k-0.5));
}
area*=x_width;
return area;
}
int main(void){
double resultant;
resultant=integrateF(f);
printf("The value of the integral is: %f \n",resultant);
return 0;
}
晚上所有,
我的第一个模块由函数 (x^2) 组成。返回的值继续到integrateF(f),然后初始化第二个模块。这是事情变得混乱的时候......
这条线有什么作用?
双积分F(双(函数)(双)){
重要提示:我的程序运行顺利,但我不知道为什么因为这条线。
有什么办法可以改造这段代码以排除我的第一个模块和这条奇怪的线(以及任何需要去的东西都可以去)所以我只有嵌套 (x^2) 函数的集成模块。
当然,我的 main(void) 模块可以保留。