c语言题,这个函数应该怎么写?

img

img
这个的答案和举得例子好像都是错的,求正确答案,或者直接写出那个式子等价的c语言代码也行

供参考:

#include<stdio.h>
#include<math.h>

double fun(double x)
{
    int    n=1;
    double sn=1,sn1=0;
    double xn=1;
    while(fabs(sn-sn1)>=0.000001){
           sn1= sn;
           xn = xn*x*(0.5-n+1)/n;
           sn += xn;
           n  += 1;
    }
    return sn;
}

int main()
{
    double x;
    scanf("%lf",&x);
    printf("s=%lf\n",fun(x));
    return 0;
}