要求用函数编写程序,为什么我的输出值不对呢

img


该怎么下手呢,为什么我写出来不对

img

代码修改如下:

#include <stdio.h>
double chengji(int n)
{
    double s=1;
    int i=1;
    for(;i<=n;i++)
        s*=i;
    return s;
}
double chenji(int n)
{
    double s = 1;
    int i = 3;
    for (;i<= 2*n+1;i+=2)
    {
        s*=i;
    }
    return s;
}

int main()
{
    double e,sum=1,a;
    int i;
    while(scanf("%lf",&e)!=EOF) //多次输入
    {
        sum = 0;
        a = 1;
        i=1;
        while(a>=e)
        {
            sum += a;
            i++;
            a = chengji(i)/chenji(i);
        }
        printf("%.6lf\n",2*sum); //计算的是pi
    }
    return 0;
}

1、结果sum要乘上2,公式是圆周率/2;
2、chenji(int m)那个函数:s2=(2*j+1)*s2;