当前位置: 代码迷 >> C语言 >> 求助:一个求sin(x)的算法问题
  详细解决方案

求助:一个求sin(x)的算法问题

热度:846   发布时间:2008-06-15 11:10:43.0
求助:一个求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;

}
编译正确,但求值是错误的,请问错在哪里了?
搜索更多相关的解决方案: sin  算法  int  include  

----------------解决方案--------------------------------------------------------
没人知道吗?
----------------解决方案--------------------------------------------------------

----------------解决方案--------------------------------------------------------

----------------解决方案--------------------------------------------------------
话说, 难道你不知道整数除法的结果是整数么?
1/3  ==0
----------------解决方案--------------------------------------------------------
楼主,你看看你的   sinx=sinx+fh*(n/y);
        j+=2;
    }while((n/y)>1e-7);

和你声明的类型是不是一致的,需要强制转换。
----------------解决方案--------------------------------------------------------
  相关解决方案