利用泰勒级数:sinx≈x-x3/3!+x5/5!-x7/7!+x9/9!-…,计算sinx的值。
#include<stdio.h>#include<math.h>intmain(void){longdoublex,sinx;doublej=1.0f;inti=0,c...
#include <stdio.h>
#include <math.h>
int main(void)
{
long double x,sinx;
double j=1.0f;
int i=0,count=0;
long p=1;
printf("请输入x的值= \n");
scanf("%lf",&x);
do{
i++;
count++;
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(fabs(pow(x,j)/p)>=pow(10,-6));
printf("sinx=%lf\n",sinx);
printf("共累加了%d次",count);
}
为什么运行结果都错了? 展开
#include <math.h>
int main(void)
{
long double x,sinx;
double j=1.0f;
int i=0,count=0;
long p=1;
printf("请输入x的值= \n");
scanf("%lf",&x);
do{
i++;
count++;
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(fabs(pow(x,j)/p)>=pow(10,-6));
printf("sinx=%lf\n",sinx);
printf("共累加了%d次",count);
}
为什么运行结果都错了? 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询