我正在尝试用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;
}
有什么问题?
答案 0 :(得分:13)
你正在倒退。不要将公式应用于tan
的输出,将其应用于参数。
你也想要乘以pi并除以180,反之亦然。
答案 1 :(得分:6)
角度是输入到tan
。所以你想要:
a = 45 * 3.141592653589793 / 180.0;
b = tan(a);
cout << b << endl;
答案 2 :(得分:4)
您必须将弧度传递给tan函数。弧度也是错误的。
a = tan(45 * 3.14159265 / 180.);
答案 3 :(得分:2)
Tan 接受一个角度,并返回一个商。反之,不是。你想要
a = tan(45*3.14159265/180); // Now a is equal to 1.