这个是根据那个什么公式通过
π/4 = 1 − 1/3 + 1/5 - 1/7 + 1/9 + ··· + 1/(2 * n - 1)
算派的。
为啥我这个输出0?
我把下面输出换成an发现也是0,换成n结果是4,我搞不懂
修改处见注释,供参考:
#include<stdio.h>
#include<math.h> //修改
int main()
{
double e,n=1,an=1,sn=0,d=-1;//修改
scanf("%lf",&e);
while(fabs(an)>e) //修改
{
d = d*(-1); //修改
an= 1.0*d/(2*n-1);//修改
sn= sn+an;
n++;
}
printf("%f",sn*4.0);//修改
return 0;
}
第13行改为:an = 1.0*d/(2*n-1);
第13行要用浮点型计算才会是小数,两个整型相除会只保留整数部分
java里double的1是用1D表示,你看看你那是怎么表示的