我正在尝试创建一个可以计算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;
}
答案 0 :(得分:2)
facts
在函数factorial
中初始化为0,因此始终返回0.将其初始化为1.与循环开始为0相同,将facts
乘以{ {1}}。尝试:
i=0