首页 > 代码库 > 求π的近似值

求π的近似值

利用循環語句計算π的近似值!

公式:π/4≈1-1/3+1/5-1/7......    直到發現某一項小於10-6

while的寫法(兩種)

一、

 1 #include<stdio.h> 2 int main() 3 { 4     int m=1,n=1;                //m為項數,n為分母 5     double t=1.0/1,s=0;      //t為每一項的值,s為計算結果 6     while(t>=1e-6) 7     { 8         if(m%2==1)         //項數為奇數時加 9         {10             s=s+t;11         }12         else                    //項數為偶數時減13         {14             s=s-t;15         }16         n=n+2;               //分母值17         t=1.0/n;              //計算新一項的值18         m++;                  //項數加一19     }20     printf("%lf\n",s*4);21     return 0;22 }

二、

 1 #include<stdio.h> 2 int main() 3 { 4     int n=1,m=1;              //n為分母,m為正負號的標記,第一項為正 5     double t=1.0,s=0; 6     while(t>=1e-6) 7     { 8         s=s+t*m;          //一項的值乘以正負標記 9         n=n+2;10         t=1.0/n;11         m=-m;              //改變符號12     }13     printf("%lf\n",s*4);14     return 0;15 }

還可以用for語句寫

 1 #include<stdio.h> 2 int main() 3 { 4     int n,m=1; 5     double s=0; 6     for(n=1;n<=1E6;n=n+2)       //某一項小於10^-6說明分母大於10^6 7     { 8         s=s+(1.0/n)*m; 9         m=-m;10     }11     printf("%lf\n",s*4);12     return 0;13 }

 

求π的近似值