C语言输入x求SINX,公式sinx=x-x^3/3!+x^5/5!-x^7/7!+x^9/9!......

#include<stdio.h>doublef(doublex,inty){doubles=1;for(inti=0;i<y;i++){s=s*x;}returns;}... #include<stdio.h>
double f(double x,int y)
{
double s=1;
for(int i=0;i<y;i++)
{
s=s*x;
} return s;
}

int g(int x)
{
int s=1,k=0;
for(int i=0;i<x;i++)
{
k++;
s=k*s;
}
return s;
}

void main(void)
{
int b=1,i=1;
double x,c=0,sinx=0;
scanf("%lf",&x);
do
{
i++;
c=f(x,b)/g(b);
sinx=c*f(-1,i)+sinx;
b=b+2;
}
while(c<=f(0.1,6));
printf("%.5lf\n",sinx);
}
展开
 我来答
听不清啊
高粉答主

2017-03-28 · 说的都是干货,快来关注
知道顶级答主
回答量:7.8万
采纳率:89%
帮助的人:1.9亿
展开全部

只是这个程序写得太复杂了:

#include<stdio.h>

double f(double x,int y)

{

double s=1;

for(int i=0;i<y;i++)

{

s=s*x;

} return s;

}


double g(int x)

{

double s=1;

int k=0;

for(int i=0;i<x;i++)

{

k++;

s=k*s;

}

return s;

}


main(void)

{

int b=1,i=1;

double x,c=0,sinx=0;

scanf("%lf",&x);

do

{

i++;

c=f(x,b)/g(b);

sinx=c*f(-1,i)+sinx;

b=b+2;

}

while(c>=1e-6);

printf("%.5lf\n",sinx);

}

普海的故事
2017-03-28 · TA获得超过3974个赞
知道大有可为答主
回答量:6496
采纳率:0%
帮助的人:935万
展开全部
1.x是整数?
2.sinx没用吧
3.10^-6应该用double了吧
其实还是比较简单,不过有些需要注意的地方
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式