c语言求sinx近似值

想请问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;
}
想请问大佬,哪里有问题

里里_L
浏览 3012回答 2
2回答

慕用4063026

#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); }给你个参考看看吧,爱莫能助了

慕用4063026

scanf("%.2f",&x); 这里.2去掉。while(fabs(sigh)>=1E-6)这个判断有问题啊,sigh是固定值1.0
打开App,查看更多内容
随时随地看视频慕课网APP