近似求PI,代码如图,请求找出错误

我的代码为什么是错误的,我的输出结果和样例不一样,我实在找不出问题

img

img

fact函数到后面会溢出哦,所以还是不要算阶乘了

#include<stdio.h>
#include<math.h>
double fact(int n){
    double f = 1;
    int i;
    for(i = 1;i <= n;i++){
        f = f * ((1.0 * i ) / (2 * i + 1));
    } 
    return f;
} 
int main(){
    double eps,sum = 1,item = 1;
    int i = 1,fenzi,fenmu = 1;
    scanf("%le",&eps);
    while(eps < item){
        item = fact(i);
        sum += item;
        i++; 
        //printf("%.5lf\n",item);
    }
    printf("PI = %.5lf",sum * 2);
}