下面用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泰勒公式中的每壹項拆成了分子,分母以及每壹項前的符號這三項,以便於每壹項的累加