(演算法練習)求 的近似值

2021-10-01 20:47:14 字數 1420 閱讀 4194

根據如圖,求π的近似值:

題目描述

用如下公式

求圓周率pi的近似值,直到發現某一項的絕對值小於10-6為止(該項不累加)。

要求輸出的結果總寬度佔10位,其中小數部分為8位。

程式中使用浮點型資料時,請定義為雙精度double型別。

如果需要計算絕對值,可以使用c語言數學庫提供的函式fabs,如求x的絕對值,則為fabs(x).

輸入

輸出

pi=圓周率的近似值

輸出的結果總寬度佔10位,其中小數部分為8位。

末尾輸出換行。

樣例輸入

1
樣例輸出

pi=

3.14159065

這一題做的比較坎坷,首先網速不好沒載入出來,沒懂為什麼前幾位跟acos(-1)擷取的不同= =

後來網上搜看到之後,先寫了乙個錯誤版本,除錯很久總是不停列印輸出,到底不知道**的問題。。。

這是錯誤的**

#include

#include

intmain()

else

printf

("pi=%10.8f\n",4

*(pi1 + pi2));

}break;}

//break;

}//break;

else

else

printf

("pi=%10.8f\n",4

*(pi1 + pi2));

}break;}

//break;}}

}

處理不好break的位置,等以後有時間再除錯;

下面是正確的版本,而且正確的更簡單容易理解:

#include

#include

intmain()

int n = n;

for(n =

0;n < n;n++

)else

}printf

("pi=%10.8f\n",4

*(pi1 + pi2));

}

思路就是先找到絕對值<10的-6的那個n,將其賦值給n,再用個for迴圈列印輸出就ok了!

那個錯誤的版本想一步到位,一邊用for先無限嘗試,找到絕對值小的數再計算,break,反而更複雜了。

求 的近似值

請利用 正多邊形逼近 的方法求出 的近似值 問題分析與演算法設計 利用 正多邊形逼近 的方法求出 值在很早以前就存在,我們的先人祖沖之就是用這種方法在世界上第乙個得到精確度達小數點後第6位的 值的。利用圓內接正六邊形邊長等於半徑的特點將邊數翻番,作出正十二邊形,求出邊長,重複這一過程,就可獲得所需精...

求 的近似值

請利用 正多邊形逼近 的方法求出 的近似值 問題分析與演算法設計利用 正多邊形逼近 的方法求出 值在很早以前就存在,我們的先人祖沖之就是用這種方法在世界上第乙個得到精確度達小數點後第6位的 值的。利用圓內接正六邊形邊長等於半徑的特點將邊數翻番,作出正十二邊形,求出邊長,重複這一過程,就可獲得所需精度...

c語言 求 的近似值

用公式 4 1 1 3 1 5 1 7.求 的近似值,直到發現某一項的絕對值小於10 6為止 該項不累加 解 程式 include include int main 結果 pi 3.14159065 請按任意鍵繼續.本程式輸出的結果是pi 3.14159065,雖然輸出了8位小數,但是只有前5位小數...