08/09/15 18:23:28
#include<stdio.h>
double f(double x){ return 1.0/(1.0+x*x); }
int main(){
int i,n;
double h,a,b,s;
a=0.0; b=1.0; n=20;
//1
h=(b-a)/n;s=f(a);
for(i=1;i<n;i++) s+=2.0*f(a+h*i);
s+=f(b); s*=h/2.0;
printf("1:%f\n",s);
//2
h=(b-a)/(2.0*n); s=f(a);
for(i=1;i<2*n;i+=2) s+=4.0*f(a+h*i);
for(i=2;i<2*n;i+=2) s+=2.0*f(a+h*i);
s+=f(b); s*=h/3.0;
printf("2:%f\n",s);
return 0;
}