作业帮 > 综合 > 作业

C语言中cos(x),x输入的是弧度,怎么输入角度?

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/14 12:59:57
C语言中cos(x),x输入的是弧度,怎么输入角度?
楼上的我觉得不妥.这个
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()函数.
好运!