用C语言程序算sinX的值
问题描述:
用C语言程序算sinX的值
题目:利用泰勒级数sinx≈x-x^3/3!+x^5/5!-x^7/7!+x^9/9!-…,计算sinx的值.要求最后一项的绝对值小于10^-5,并统计出此时累加了多少项.
#include
#include
void main()
{
long double x,sinx;
int i=0,j=1;
long p=1;
printf("In sinx,x=");
scanf("%f",&x);
do{
i++;
if(i=1)
sinx=(pow(x,j))/p;
else if(i%2==0)
sinx=sinx-(pow(x,j))/p;
else
sinx=sinx+(pow(x,j))/p;
p=p*(j+1)*(j+2);
j=j+2;
}while(pow(x,j)/p
答
程序有几个问题:
1.long double型数据输入输出都要用%lf,而你都用的是%f.
2.if(i=1)此处应该为(x==1)
3.while(pow(x,j)/p1e-5
目前就发现这么多错误,但是答案貌似不对.你再检查检查.