求解题目是cosx=1-x^2/2!+x^4/4!-x^6/6!.........帮忙找错在哪哈

#include"stdio.h"#include"conio.h"main(){intx,i,s=1;doublesum=1,q=1;printf("pleaseinp... #include "stdio.h"
#include "conio.h"

main()
{
int x,i,s=1;
double sum=1,q=1;
printf("please input x:");
scanf("%d",&x);
for(i=2; ;i++)
{ q*=x*x/(2*i-3)*(2*i-2);
s*=-1;
sum+=q*s;
if(q<1e-6) break; }
printf("cosx=%f",sum);
getch();
}
展开
 我来答
qianwj_067
2011-10-14
知道答主
回答量:19
采纳率:0%
帮助的人:19.1万
展开全部
错在if(q<1e-6)
这句执行的顺序是:
1)比较q<1e,其结果是0或1;
2)使用0或1 再减去6 ,是-1 或-5 不会你希望的0或1,即永远不会为零
所以循环不会执行。只执行 i=2 就退出了
匿名用户
2011-10-14
展开全部
#include "stdio.h"
#include "conio.h"

main()
{
int i,s=1;
double x,sum=1,q=1; /* x为弧度 */
printf("please input x:");
scanf("%lf",&x);
for(i=2; ;i++)
{ q*=x*x/((2*i-3)*(2*i-2)); /* 分母相乘 */
s*=-1;
sum+=q*s;
if(q<1e-6) break; }
printf("cosx=%lf",sum);
getch();
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友b591d64
2011-10-14 · 超过22用户采纳过TA的回答
知道答主
回答量:73
采纳率:0%
帮助的人:50.5万
展开全部
#include "stdio.h"
#include "conio.h"

main()
{
int x,i,s=1;
double sum=1,q=1;
printf("please input x:");
scanf("%d",&x);
for(i=2; ;i++)
{ q*=(x*x/(2*i-3)*(2*i-2)); /*加个"()"
s*=-1;
sum+=q*s;
if(q<1e-6) break; }
printf("cosx=%f",sum);
getch();
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式