求助:一个求sin(x)的算法问题
#include "stdafx.h"#include "iostream.h"
void main()
{
double x,sinx,n;
int i;
long y=1;
static int j,fh=1;
cout<<"求sin(x)函数的程序"<<endl;
cout<<"请输入x的值:";
cin>>x;
sinx=x;
n=x;
j=3;
do
{
n=n*(x*x);
fh=fh*(-1);
for(i=j;i>0;i--)
y=y*i;
sinx=sinx+fh*(n/y);
j+=2;
}while((n/y)>1e-7);
cout<<"sin(x)的值为:"<<sinx<<endl;
}
编译正确,但求值是错误的,请问错在哪里了?