天天看點

《C語言及程式設計》實踐參考——太樂了

【項目7-太樂了】

先聽故事,再程式設計式。

故事是這樣的:話說sin和cos是一對夫婦。一天,sin去聽相聲了,cos在家。過了一會,有人敲門,cos開門一看,是一個不認識的多項式函數。cos問:你是誰啊?他說:我是你的老公sin啊。cos說:你不是去聽相聲了嗎?怎麼成這幅摸樣了?sin說:是啊,太樂了!

故事講完了。下面是sin函數的泰勒展式:

《C語言及程式設計》實踐參考——太樂了

(注:x取弧度值,而非角度值)

用sin泰勒展式編寫程式,求出sin(π/2)和sin(56°)的值,精度要求達到小數點後6位(即當最後一項的絕對值小于0.00001時,累加結束,求絕對值的函數也可以自定義函數myabs實作)。

下面是程式模闆,請完成自定義函數的聲明和定義,并将main函數中下劃線部分補充完整。

說明:sin聽相聲“太樂”了,變成了多項式,連太太cos都不認識了。利用泰勒公式将任意函數展開為多項式進行計算,是計算機求解數值問題的一個重要手段。高等數學中的“泰勒定理”為我們解決這一大類問題提供了理論依據與方法指導。高等數學、線性代數等課程為我們提供解決各種問題的基礎知識,是大學中最為實用的學科,學好,必須的。

實際上,c語言的數學庫(#include<math.h>)中已經提供了sin和cos函數,以及求絕對值的函數fabs,一般解題中我們直接調用即可,而本題要求自定義函數實作,為差別起見,分别起名為mysin、mycos、myabs。

提示:程式的輸出應該為:

[參考解答]

注:fact類型取double型而非int型,是因為當n>12時,int型會溢出,導死循環。

繼續閱讀