利用泰勒级数: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);
}
为什么运行结果都错了?
展开
 我来答
迷路明灯
2018-10-25 · TA获得超过2.2万个赞
知道大有可为答主
回答量:2.2万
采纳率:79%
帮助的人:5375万
展开全部
for循环的为什么要用do…while?
追问
为什么不行呢,如果按这个运行,不论输入什么他的结果都是一样,sinx为0,累加一次
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式