#include<stdio.h>
#include<stdlib.h>
double fun(int n){
double res = 0.0;
int flag = 1;
for(int i=1;i<=n;i++){//第i项
double tmp = 1;
for(int j=1;j<=i;j++){//第i项由i个分数相乘得到
tmp = tmp * (2*j-1)*1.0/(2*j);//第i组的第j项为(2j-1)/(2j)
}
res = res + flag*tmp;
flag = -flag;
}
return res;
}
int main(){
printf("%lf\n",fun(10));
}
不知道你这个问题是否已经解决, 如果还没有解决的话:以上代码可以解决该问题,无需修改除注释之外的任何代码。