C语言 运行后输出 PI=-1.#IND00 哪里有问题啊,求指教
#include<stdio.h>#include<math.h>doublefun(doubleeps){intn,i,j;doubles1,s=1,a,b;for(n...
#include <stdio.h>
#include <math.h>
double fun ( double eps)
{
int n,i,j;
double s1,s=1,a,b;
for(n=2; s1>=eps; n++)
{
a=1.0;
b=1.0;
for (i=1; i<n; i++)
{
a*=i;
b*=2*i+1;
}
s1=(double) a/(double) b;
s+=s1;
return (s*2);
}
}
void NONO ( )
{/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */
FILE *fp, *wf ;
int i ;
double x ;
fp = fopen("bc04.in","r") ;
if(fp == NULL) {
printf("数据文件bc04.in不存在!") ;
return ;
}
wf = fopen("bc04.out","w") ;
for(i = 0 ; i < 10 ; i++) {
fscanf(fp, "%lf", &x) ;
fprintf(wf, "%lf\n", fun(x)) ;
}
fclose(fp) ;
fclose(wf) ;
}
main( )
{ double x;
printf("Input eps:") ;
scanf("%lf",&x); printf("\neps = %lf, PI=%lf\n", x, fun(x));
NONO();
} 展开
#include <math.h>
double fun ( double eps)
{
int n,i,j;
double s1,s=1,a,b;
for(n=2; s1>=eps; n++)
{
a=1.0;
b=1.0;
for (i=1; i<n; i++)
{
a*=i;
b*=2*i+1;
}
s1=(double) a/(double) b;
s+=s1;
return (s*2);
}
}
void NONO ( )
{/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */
FILE *fp, *wf ;
int i ;
double x ;
fp = fopen("bc04.in","r") ;
if(fp == NULL) {
printf("数据文件bc04.in不存在!") ;
return ;
}
wf = fopen("bc04.out","w") ;
for(i = 0 ; i < 10 ; i++) {
fscanf(fp, "%lf", &x) ;
fprintf(wf, "%lf\n", fun(x)) ;
}
fclose(fp) ;
fclose(wf) ;
}
main( )
{ double x;
printf("Input eps:") ;
scanf("%lf",&x); printf("\neps = %lf, PI=%lf\n", x, fun(x));
NONO();
} 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询