根据下面关系式,求圆周率的值,直到最后一项的值小于给定阈值。
#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;
}
得到的结果总是如下…半天了还是不知道错在什么地方~!
恳请大家指教~