math.h里的三角函数用的单位是弧度,你貌似错在这里。 答案补充 Example
我们提供的服务有:成都做网站、成都网站制作、微信公众号开发、网站优化、网站认证、兴安ssl等。为成百上千家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的兴安网站制作公司
/* SINCOS.C: This program displays the sine, hyperbolic
* sine, cosine, and hyperbolic cosine of pi / 2.
*/
#include math.h
#include stdio.h
void main( void )
{
double pi = 3.1415926535;
double x, y;
x = pi / 2;
y = sin( x );
printf( "sin( %f ) = %f\n", x, y );
y = sinh( x );
printf( "sinh( %f ) = %f\n",x, y );
y = cos( x );
printf( "cos( %f ) = %f\n", x, y );
y = cosh( x );
printf( "cosh( %f ) = %f\n",x, y );
} 答案补充 Output
sin( 1.570796 ) = 1.000000
sinh( 1.570796 ) = 2.301299
cos( 1.570796 ) = 0.000000
cosh( 1.570796 ) = 2.509178
Parameter
x
Angle in radians
sum = fun(x,y,z); //这里,应当接收函数的返回值
printf("f(x,y,z)=%f\n",sum);
1.
C语言的三角函数库采用的单位都是弧度,如果要使用角度,就必须转换,从角度转换成弧度,或者是重写一个三角函数库。
2.
方法一,在调用三角函数之前先把角度换算成弧度,调用反三角函数之后把弧度换算成角度就可以了。可以用
pi
=
4.0
*
atan(1)
算出pi,用
a
=
d
/180.0*pi
转换角度到弧度。
例如:
sin(45
/180.0*pi);
就是计算的sin45。
3.
方法二,直接覆写三角函数。
例如sin函数:
double
dsin(double
d){
return
sin(45
/180.0*pi);
//原理和方法一样,调用的时候直接使用dsin(45)即可
}