關於π的近似值

~ ~ ~ ~發表於2020-11-10

#include
#includeusing namespace std;
int main()
{double an=1,sn=0.0,a=1.0;
int b=1;
while(abs(an)>=1e-8)
{sn+=an;
a+=2;
b=-b;
an=b/a;}
cout << “π的值是”<<4*sn<<endl;
return 0;}

[求π的近似值,π/4=1-1/3+1/5……]
1,c語言中求絕對值的函式為abs(),在C++中對函式abs()進行了過載,
這樣方便了我們的使用,我們只要包含即可,例如:#include //C語言是math.h---------------------------------------------------------------我測試的例子程式碼如下:
#include #include//C語言是math.h
using namespace std;
void main(void)
2,while迴圈內部會存在迴圈語句按順序輸出的情況,所以自己按順序走一遍防止出錯。

輸出的結果出現問題

![有問題順序的程式碼](https://img-blog.csdnimg.cn/20201110235514470.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl81MjIwMTkwMg==,size_16,color_FFFFFF,t_70)
以下為正確順序
#include<iostream>
#include<cmath>
using namespace std;

int main()
{double an=1,sn=0.0,a=1.0;
int b=1;
while(abs(an)>=1e-8)
{
sn+=an;

a+=2;
b=-b;
an=b/a;

}
 cout << "π的值是"<<4*sn<<endl;
 return 0;
}