
以下这个c程序是利用格里高利公式求π,即π/4=1-1/3+1/5-1/7+……。但是这正、负号体现在那句啊?请高手
#include<stdio.h>#include<math.h>main(){doublet,pi;longintn,s;t=1.0;n=1;s=1;pi=0.0;wh...
#include<stdio.h>
#include<math.h>
main()
{
double t,pi;
long int n,s;
t=1.0;
n=1;
s=1;
pi=0.0;
while (fabs(t)>=1e-6)
{
pi=pi+t;
n=n+2;
s=-s;
t=(float)(s)/(float)(n);
}
pi=pi*4;
printf(" pi=%lf\n",pi);
} 展开
#include<math.h>
main()
{
double t,pi;
long int n,s;
t=1.0;
n=1;
s=1;
pi=0.0;
while (fabs(t)>=1e-6)
{
pi=pi+t;
n=n+2;
s=-s;
t=(float)(s)/(float)(n);
}
pi=pi*4;
printf(" pi=%lf\n",pi);
} 展开
1个回答
展开全部
中间那句 s=-s;
这句把正负号互换. (每循环一次,正负号就切换一次.)
例如 s = 1; 那 s=-s;之后 s的值为 -1.
然后在后面一句:
t=(float)(s)/(float)(n);
相当于 t= s * (1/n) ; s在这个程序中只有两个可能的值, 1 或者 -1.
这句把正负号互换. (每循环一次,正负号就切换一次.)
例如 s = 1; 那 s=-s;之后 s的值为 -1.
然后在后面一句:
t=(float)(s)/(float)(n);
相当于 t= s * (1/n) ; s在这个程序中只有两个可能的值, 1 或者 -1.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询