C语言中cos(x),x输入的是弧度,怎么输入角度??各位大神多谢了。。。
发布网友
发布时间:2023-11-09 02:49
我来回答
共3个回答
热心网友
时间:2024-11-18 17:25
楼上的我觉得不妥。这个
1、#define PI 3.14 //精度过于小,改为#define PI 3.14159265359
2、#define cos(x) cos(x/PI*180) //这个是宏定义,不是函数,或者叫做伪函数,尽量不要用。也千万不要迷恋所谓的效率。因为这个东西逃过了VC编译器的静态类型检查,很多隐藏的很深的错误(尤其是当复杂的时候)。现在基本用inline内联函数替代啦。而且调试过程中,无法查看相关量的值(这个不存在我指复杂一点的)。但是强烈建议开始就养成好的编程习惯。
3、这个东西有误解。(除非每一次都会去看它的定义)因为角度也是double或float型,而弧度也是同样,所以用的时候会有误解。因为库中原来的cos()要的是弧度。现在你给重定义成了要角度。其中我想用cos()给其提供弧度的版本,结果也被这个宏替换成了要角度的版本。如:我想求cos(PI/2),结果被你替换成了cos(PI/2*180/PI),这个太可恶了。和原函数名字一模一样!会给后面的维护工程师带来大麻烦!
所以,明确的写一个。角度转弧度的函数 double RadToAngle (double); 还是用原来库函数 cos( RadToAngle (30)) 这个一看就知道 将30°换成弧度,并调用原来的cos()函数。
好运!
热心网友
时间:2024-11-18 17:25
cosx=1/2,由常见角度的正余弦直接可得x=2kπ±π/3
热心网友
时间:2024-11-18 17:26
#define PI 3.14
#define cos(x) cos(x/PI*180)