请编写一个函数fun,他的功能是:根据以下公式求 π的

请编写一个函数fun,他的功能是:根据以下公式求 π的值(要求满 足精度0.0005,即某项小于0.0005时停止迭代):

公式

 程序运行后,如果输入精度0.0005,则程序输出为3.14…。 注意部分源程序存在文件PROG1.C立件中。 请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花 括号中填入你编写的若干语句。

/**********code.c**********/
#include <stdio.h>
#include <math.h>
double fun(double eps)
 {
 }
 void main()
 {
 double x;
 printf("Input eps:") ;
 scanf("%lf",&x);
printf("\neps = %lf,PI=%lf\n", x, fun(x));
 }

答案

double fun(double eps)
 {
 double s=1.0,s1=1.0;
 int n=1;
 while(s1>=eps)/*当某项大于精度要求时,继续求下一项*/
 {
 s1=s1*n/(2*n+1);/*求多项式的每一项*/
 s=s+s1;/*求和*/
 n++;
 }
 return 2*s;
 }

题目信息

题号:7651
题型:简答题
难度:普通