📄 龙贝格积分.c
字号:
#define PI 3.14159265359
#include<stdio.h>
#include<math.h>
main()
{
double a,b,e;
double lbgjf(double a,double b,double e);
printf("input the band(a-->b):");
scanf("%lf%lf",&a,&b);
printf("input the precision e:");
scanf("%lf",&e);
lbgjf(a,b,e);
}
double lbgjf(double a,double b,double e)
{
double f(double x);
double d,h,n;
double T[81];
int i,j,k,c;
FILE *file;
file = fopen( "output.txt", "w" );
h=b-a;
T[0]=(f(a)+f(b))*h/2;
n=0.5;
for(i=1;i<=10;i++)
{
h=h/2;
n=2*n;
T[i]=0;
for(k=1;k<=(int)n;k++)
T[i]=T[i]+f(a+2*k*h-h);
T[i]=T[i-1]/2+T[i]*h;
c=4;
for(j=1;j<=i;j++)
{
d=(T[i+1-j]-T[i-j])/(c-1);
T[i-j]=T[i+1-j]+d;
c=4*c;
while(fabs(d)<e)
{printf("i=%d,T[%d]=%f\t",i,i-j,T[i-j]);
fprintf(file,"i=%d",i);
for(k=0;k<=(i-j);k++)
fprintf(file,"%16.12f",T[k]);
return 0;}
}
fprintf(file,"i=%d",i);
for(k=1;k<=i;k++)
{
fprintf(file,"%16.12f",T[k]);
//fprintf(file,"%c",'\n');
}
fprintf(file,"%c",'\n');
}
if(fabs(d)>=e)
{printf("fail!/n");
printf("T[0]=%f/n",T[0]);
fprintf(file,"Fail!T[0]=%f/n",T[0]);}
return 0;
}
double f(double x)
{double r;
/*if(x==0)
r=1;
else*/
r=log(1+x)/x;
return r;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -