C语言中求pi值,语句顺序不同,结果不同,哪位大虾能给我解释下程序是怎么个运行过程#include /*第一种*/main(){double s,n,t,pi;s=1;n=1;pi=0;t=1;while(fabs(t)>1e-6){pi=pi+t;s=-s;n=n+2;t=s/n; /*此语句在最后*/ }pi=4*pi
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/14 14:43:09
![C语言中求pi值,语句顺序不同,结果不同,哪位大虾能给我解释下程序是怎么个运行过程#include /*第一种*/main(){double s,n,t,pi;s=1;n=1;pi=0;t=1;while(fabs(t)>1e-6){pi=pi+t;s=-s;n=n+2;t=s/n; /*此语句在最后*/ }pi=4*pi](/uploads/image/z/3811606-70-6.jpg?t=C%E8%AF%AD%E8%A8%80%E4%B8%AD%E6%B1%82pi%E5%80%BC%2C%E8%AF%AD%E5%8F%A5%E9%A1%BA%E5%BA%8F%E4%B8%8D%E5%90%8C%2C%E7%BB%93%E6%9E%9C%E4%B8%8D%E5%90%8C%2C%E5%93%AA%E4%BD%8D%E5%A4%A7%E8%99%BE%E8%83%BD%E7%BB%99%E6%88%91%E8%A7%A3%E9%87%8A%E4%B8%8B%E7%A8%8B%E5%BA%8F%E6%98%AF%E6%80%8E%E4%B9%88%E4%B8%AA%E8%BF%90%E8%A1%8C%E8%BF%87%E7%A8%8B%23include+%2F%2A%E7%AC%AC%E4%B8%80%E7%A7%8D%2A%2Fmain%28%29%7Bdouble+s%2Cn%2Ct%2Cpi%3Bs%3D1%3Bn%3D1%3Bpi%3D0%3Bt%3D1%3Bwhile%28fabs%28t%29%3E1e-6%29%7Bpi%3Dpi%2Bt%3Bs%3D-s%3Bn%3Dn%2B2%3Bt%3Ds%2Fn%3B+%2F%2A%E6%AD%A4%E8%AF%AD%E5%8F%A5%E5%9C%A8%E6%9C%80%E5%90%8E%2A%2F+%7Dpi%3D4%2Api)
C语言中求pi值,语句顺序不同,结果不同,哪位大虾能给我解释下程序是怎么个运行过程#include /*第一种*/main(){double s,n,t,pi;s=1;n=1;pi=0;t=1;while(fabs(t)>1e-6){pi=pi+t;s=-s;n=n+2;t=s/n; /*此语句在最后*/ }pi=4*pi
C语言中求pi值,语句顺序不同,结果不同,哪位大虾能给我解释下程序是怎么个运行过程
#include /*第一种*/
main()
{
double s,n,t,pi;
s=1;n=1;pi=0;t=1;
while(fabs(t)>1e-6)
{pi=pi+t;
s=-s;
n=n+2;
t=s/n; /*此语句在最后*/
}
pi=4*pi;
printf("%f",pi);
}
#include /*第二种*/
main()
{
double s,n,t,pi;
s=1;n=1;pi=0;t=1;
while(fabs(t)>1e-6)
{pi=pi+t;
t=s/n; /*此语句在前*/
s=-s;
n=n+2;
}
pi=4*pi;
printf("%f",pi);
}
C语言中求pi值,语句顺序不同,结果不同,哪位大虾能给我解释下程序是怎么个运行过程#include /*第一种*/main(){double s,n,t,pi;s=1;n=1;pi=0;t=1;while(fabs(t)>1e-6){pi=pi+t;s=-s;n=n+2;t=s/n; /*此语句在最后*/ }pi=4*pi
两种顺序关键不同在于while循环里面
第一种while循环内变量前3次变化为
循环次数 pi s n t
循环前 0 1 1 1
1 1 -1 3 -1/3
2 2/3 1 5 1/5
3 13/15 -1 7 1/7
第二种while循环内变量前3次变化为
循环次数 pi t s n
循环前 0 1 1 1
1 1 1 -1 3
2 2 -1/3 1 5
3 5/3 1/5 -1 7
两次各变量的更新顺序依次是我写的顺序从左到右,从这3次就可以看出区别,所以答案当然不同