C語言中要編寫sin函數,實質上要利用sin的泰勒公式,然後根據泰勒公式,將其中的每壹項進行分解,最後用循環,累加計算出最終結果
下面用for循環實現sin的算法,程序代碼如下:
#include<stdio.h>
#include<math.h>
void main()
{
int ?i; float ?x,sum,a,b; ?//sum代表和,a為分子,b為分母 char s; printf("please input x"); scanf("%f",&x); s=1; sum=0; a=x; //分母賦初值 b=1; //分子賦初值 for(i=1;a/b>=1e-6;i++) { sum=sum+s*a/b; //累加壹項 a=a*x*x; //求下壹項分子 b=b*2*i*(2*i+1); ? //求下壹項分母 s*=-1; } printf("sum=%f\n",sum);}
3. ?關於上述程序的幾點說明:上述程序的計算結果精確到小數點後六位;上述程序運用了sin的泰勒展開式 sin x=x-x^3/3!+x^5/5! ...... ,程序中將sin泰勒公式中的每壹項拆成了分子,分母以及每壹項前的符號這三項,以便於每壹項的累加