0
sin(x)
を計算できるプログラムを作成しようとしています。x
と値n
です。sin(x)を計算して奇妙な出力を得る
私は罪のように計算することができます知っている:
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をint型の '0'が返されますことを私に伝えます;' '事実= 1をint型されるべきです;'。その後、 'main()'は0で除算されます。 – VCSEL
'factorial()'のループは、同じ理由で 'for(int i = 2; ......')で始まらなければなりません。 – VCSEL
またfactorial()が失敗する前にどのくらいの大きさの "a"があるかについてのOPへの練習に移りました。 – doug