#include <stdio.h>
#include <math.h>
double fun ( double eps)
{int i=1,s=1,t=1;
double j,sum=1.0;
while(j>=eps)
{
t=t*i;
s=s*(2*i+1);
j=1.0*t/s;
sum=sum+j;
i++;
}
return sum*2;
}
main( )
{ double x;void NONO ();
printf("Input eps:") ;
scanf("%lf",&x); printf("\neps = %lf, PI=%lf\n", x, fun(x));
NONO();
}
void NONO ()
{/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */
FILE *fp, *wf ;
int i ;
double x ;
fp = fopen("in.dat","r") ;
wf = fopen("out.dat","w") ;
for(i = 0 ; i < 10 ; i++) {
fscanf(fp, "%lf", &x) ;
fprintf(wf, "%lf\n", fun(x)) ;
}
fclose(fp) ;
fclose(wf) ;
}
这是原题
什么叫溢出啊?那句子怎么就溢出了啊
不会的3.14.。。啊好像是3.09.。。
追答当你的精度是0.005的时候。
j初始化还是没用啊