为了账号安全,请及时绑定邮箱和手机立即绑定

c语言求sinx近似值

c语言求sinx近似值

C
里里_L 2017-11-26 09:17:35
想请问c语言求sinx近似值的问题 #include<stdio.h> int main() { int i,n=1,op=1; float x,h=1.0,we=1.0,sigh=1.0; double sum=0; scanf("%.2f",&x); while(fabs(sigh)>=1E-6) { for(i=1;i<=n;i++) { we*=i; h*=x; } sigh=(h/we)*op; sum+=sigh; n+=2; op=-op; } printf("%.2f\n",sum); return 0; } 想请问大佬,哪里有问题
查看完整描述

2 回答

已采纳
?
慕用4063026

TA贡献195条经验 获得超115个赞

#include<math.h>
#define ACCURARY 0.00000001

main()
{
	int i=1,j=1,k,n=1,x;
	printf("sinx=x-x^3/3!+x^5/5-x^7/7!...\n请输入一个x\n");
	scanf("%d",&x);
	double sinx=0;
	for(i=1;fabs(t)>=ACCURARY;i+=2)
	{ 
  for(k=1;k<=i;k++)
   {n=n*i;}
    j++;
   t=pow(-1,j)*pow(x,i)/n;	
   sinx=sinx+t;
	}
	printf("sin%d=%.8f\n",x,sinx);
}

给你个参考看看吧,爱莫能助了

查看完整回答
反对 回复 2017-11-27
  • 里里_L
    里里_L
    这个如果输入0.53会得0.50吗,。。我找了好多,,我自己的输出0.49,,我找到的输出0.51,,都有误差
?
慕用4063026

TA贡献195条经验 获得超115个赞

scanf("%.2f",&x); 这里.2去掉。while(fabs(sigh)>=1E-6)这个判断有问题啊,sigh是固定值1.0


查看完整回答
反对 回复 2017-11-26
  • 2 回答
  • 0 关注
  • 3011 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信