#include <stdio.h>#include <math.h>void main(){ int i,n,b=1,c=0,m; float x; double a,d,e=0; scanf("%f%d",&x,&m); for(i=1;i<=(4*m+1);i+=2) { c+=1; a=pow(x,i); for(n=1;n<=i;n++) { b*=n; } d=a/b*pow(-1,(c+1)); e+=d; } printf("%.50f\n",e);}大神帮忙看看这个程序怎么求不出sinx的近似值。
1 回答
已采纳
陨星复燃
TA贡献6条经验 获得超1个赞
/*近似值计算公式:sinx=x-x^3/3!+x^5/5-x^7/7!...*/
#include<stdio.h>
#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);
}
- 1 回答
- 1 关注
- 2129 浏览
添加回答
举报
0/150
提交
取消