用C语言程序算sinX的值
来源:学生作业帮 编辑:搜搜做题作业网作业帮 分类:综合作业 时间:2024/08/20 03:33:59
用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
题目:利用泰勒级数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
![用C语言程序算sinX的值](/uploads/image/z/3189702-30-2.jpg?t=%E7%94%A8C%E8%AF%AD%E8%A8%80%E7%A8%8B%E5%BA%8F%E7%AE%97sinX%E7%9A%84%E5%80%BC)
程序有几个问题:
1.long double型数据输入输出都要用%lf,而你都用的是%f.
2.if(i=1)此处应该为(x==1)
3.while(pow(x,j)/p1e-5
目前就发现这么多错误,但是答案貌似不对.你再检查检查.
1.long double型数据输入输出都要用%lf,而你都用的是%f.
2.if(i=1)此处应该为(x==1)
3.while(pow(x,j)/p1e-5
目前就发现这么多错误,但是答案貌似不对.你再检查检查.