从计算sin(x)获得一个奇怪的输出

时间:2016-11-24 17:54:11

标签: c++ sin cos

我正在尝试创建一个可以计算sin(x)给定x和值n的程序。

我知道罪可以计算为:

x - x3/3! + x5/5! - x7/7! + x9/9!...

但输出每次都给我相同的数字:-2147483648

这是我的代码:

#include <iostream>
#include <cmath>
using namespace std;

int factorial(int);

int main() {

    int ans = 0;
    double x = 0;
    int n = 0;

    cout << "Enter x value: ";
    cin >> x;
    x = x * (3.14159 / 180);
    cout << endl;
    cout << "Enter n value: ";
    cin >> n;

    ans = pow(x, 1 + (2 * n)) / factorial(1 + (2 * n));

    cout << ans << endl;

    return 0;
}

int factorial(int a) {
    int facts = 0;

    for (int i = 0; i <= a; i++) {
        facts *= i;
    }
    return facts;
}

1 个答案:

答案 0 :(得分:2)

facts在函数factorial中初始化为0,因此始终返回0.将其初始化为1.与循环开始为0相同,将facts乘以{ {1}}。尝试:

i=0