作业帮 > 综合 > 作业

利用泰勒级数sin(x)=x-x^3/3!+x^5/5!-x^7/7!...,计算sinx的值,要求最后一项的值小于10

来源:学生作业帮 编辑:灵鹊做题网作业帮 分类:综合作业 时间:2024/05/04 22:15:49
利用泰勒级数sin(x)=x-x^3/3!+x^5/5!-x^7/7!...,计算sinx的值,要求最后一项的值小于10^(-5)
下面是我写的c程序,请问错在哪?
#include
#include
#include
double x,sinx =0,n =1,A =1; //A为(2n-1)!
void main()
{
\x05scanf("%f",&x);
\x05for(n=1;pow(x,2*n-1)/A > 0.00001; )
\x05{
\x05 sinx +=pow(-1,n-1)*pow(x,2*n-1)/A;
\x05\x05 n++;
\x05\x05 while (n>1 && A
利用泰勒级数sin(x)=x-x^3/3!+x^5/5!-x^7/7!...,计算sinx的值,要求最后一项的值小于10
scanf("%f",&x); 这儿改成scanf("%lf",&x);
x是double类型变量,scanf的格式是%lf
输出的时候也一样
再问: 改了,没用
再答: #include <stdio.h>
#include <math.h>
#include <stdlib.h>

double x,sinx =0,n =1,A =1;  //A为(2n-1)!

void main()
{
scanf("%lf",&x); 
for(n=1;pow(x,2*n-1)/A > 0.00001; )
{              
     sinx +=pow(-1,n-1)*pow(x,2*n-1)/A;
 n++;
 A=A*(2*n-2)*(2*n-1);
}
printf("%lf %lf\n",sinx,n);
system("pause");            
}程序改了,你再看看