1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| #include<stdio.h>
float func1(float x) { return 1+x*x; } float func2(float x) { return x/(1+x*x); }
float Integral(float (*f)(float), float a, float b) { float sum=0,h; int i; h=(a+b)/100; for(i=0;i<100;i++) { sum+=(f(a+i*h)+f(a+(i+1)*h))*h/2; } return sum; }
int main() { float y1,y2; y1=Integral(func1,0.0,1.0); y2=Integral(func2,0.0,3.0); printf("y1=%f\ny2=%f\n",y1,y2); return 0; }
|