根据下面关系式,求圆周率的值,直到最后一项的值小于给定阈值。

#include<stdio.h>
double fab(int n){
if(n==1)
return 1;
else
return n*fab(n-1);
}
double fenmu(int n){
double sum=1;
for(int i=1;i<n+1;i++){
sum*=(2*i+1);
}
return sum;
}
int main(){
double x,sn=1;
scanf("%lf",&x);
int i=1;
if(x<=(fab(i)/fenmu(i)))
{
i++;
sn+=(fab(i)/fenmu(i));
}
printf("%.6lf",sn*2.0);
return 0;
}

得到的结果总是如下…半天了还是不知道错在什么地方~!
恳请大家指教~
博主分享了一段用于计算圆周率值的C语言代码,该代码通过递归计算阶乘和累加项来逼近π值,直到最后一项小于给定阈值。然而,程序运行结果与预期不符,博主寻求社区帮助找出代码中的错误。
8005

被折叠的 条评论
为什么被折叠?



