重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
其实很简单,sin这个函数的参数,是弧度数,不是角度数。比如你想求50度角的正弦,就必须转化成50度的弧度数,再算,保证没错,
成都创新互联公司主要从事成都做网站、成都网站建设、网页设计、企业做网站、公司建网站等业务。立足成都服务会泽,10年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18980820575
开头必须有一个数学函数库 #includemath.h
然后一般常用的
sin(x)
cos(x)
tan(x)
其中的x必须要以弧度为单位。如果以“度”为单位,比如说求30度的正弦值,要用
sin(x*180/3.1415926)的形式
arcsin(x)
arccos(x)
arctan(x)
arccot(x)
以上四个则是相应的反三角函数,函数值的单位也是弧度。若要求arctan(1)的度数,要用以下的形式: arctan(1)*180/3.1415926
扩展资料
C语言的三角函数库采用的单位都是弧度,如果要使用角度,就必须转换,从角度转换成弧度,或者是重写一个三角函数库。
在调用三角函数之前先把角度换算成弧度,调用反三角函数之后把弧度换算成角度就可以了。可以用 pi = 4.0 * atan(1) 算出pi,用 a = d /180.0*pi 转换角度到弧度。
例如: sin(45 /180.0*pi); 就是计算的sin45。
参考资料:c语言 - 百度百科
你的程序没有问题
vc6.0 编译
q=(sin(x*PI/180)+sin(y*PI/180))/tan(z*PI/180);处出现
warning:“e:\c\bhj\bhj.cpp(16) : warning C4244: '=' : conversion from 'double' to 'float', possible loss of data”
这是因为sin 和 tan的 返回值是双精度double类型。把它赋值给 float q,就会丢失数据。
但是计算结果是基本正确的。如果想更精确计算 就把所有的 float 全部改成 double