3.11计算sinx的值
题目描述:
利用泰勒级数 sinx=x-x^3/3!+x^5/5!-x^7/7!+…… 计算sinx的值。要求最后一项的绝对值小于1e-5,并统计出此时累加的项数。
输入描述:
一个实数x(一个角度的弧度数)
输出描述:
sinx的值和累加的项数。
样式输入:
1.57
样式输出:
sinx=1.000000,n=6
#include<stdio.h>
#include<math.h>
double f(double x,double i)
{
return pow(x,i);
}
int main()
{
int n=0,i=1,k=1,j=1;
double sinx=0,t,x;
scanf("%lf",&x);
do
{
for(j=1;j<=i;j++)
{
k=k*j;
}
t=f(-1,n)*f(x,i)/k;
sinx=sinx+t;
i=i+2;
n++;
}while(fabs(t)>=(1e-5));
printf("sinx=%6lf,n=%d",sinx,n);
return 0;
}
能帮忙改一下代码吗 运行结果跟样式输出不一样