我正在尝试用 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,而不是相反。
角度是tan
的
输入。所以你想要:
a = 45 * 3.141592653589793 / 180.0;
b = tan(a);
cout << b << endl;
您必须将弧度传递给 tan 函数。度数转弧度也是错误的。
a = tan(45 * 3.14159265 / 180.);
Tan 接受一个角度,并返回一个商。事实并非如此。你想要
a = tan(45*3.14159265/180); // Now a is equal to 1.