微软笔试题求sine函数,该如何解决

微软笔试题求sine函数
如题
微软笔试题求sine函数,该如何解决

------解决方案--------------------
double Sine(double x)
{
    const double epsilon = 1.0e-8;
    double res = 0.0;
    double delta = x;
    int i = 2;

    while (fabs(delta) >= epsilon) {
        res += delta;
        delta *= -x * x / i / (i + 1);
    }

    return res;
}

------解决方案--------------------
漏了i += 2
double Sine(double x)
{
    const double epsilon = 1.0e-8;
    double res = 0.0;
    double delta = x;
    int i = 2;

    while (fabs(delta) >= epsilon) {
        res += delta;
        delta *= -x * x / i / (i + 1);
        i += 2;
    }

    return res;
}