C++で簡単な三角関数を計算しようとしています。以下は私がこれで抱えている問題の例です。私の知る限り、C++は度ではなくラジアンで動作します。したがって、ラジアンから度への変換は、180を掛けてpiで割る単純なケースになるはずです。簡単なテストはtan(45)です。これは1と等しくなるはずです。ただし、次のプログラムは92.8063の値を生成します...
#include <iostream>
using namespace std;
#include <math.h>
int main(){
double a,b;
a = tan(45);
b = a * 180 / 3.14159265;
cout << b;
return 0;
}
なにが問題ですか?
あなたはそれを逆にやっています。 tan
の-outputに数式を適用しないでください。parameterに適用してください。
また、piを乗算して180で除算する必要があります。逆も同様です。
角度はinputからtan
です。あなたが望んでいるのは:
a = 45 * 3.141592653589793 / 180.0;
b = tan(a);
cout << b << endl;
ラジアンをtan関数に渡す必要があります。また、ラジアンの学位は間違っています。
a = tan(45 * 3.14159265 / 180.);
Tan accepts角度であり、商を返します。 notはその逆です。あなたが欲しい
a = tan(45*3.14159265/180); // Now a is equal to 1.