头文件:#include <math.h>
atan() 函数用来求反正切的值,其原型为:
double atan(double x);
参数 x 为任意值,返回值以弧度表示,范围为 -π/2 到 +π/2 (-1.57079 到 1.57079)。返回值显示到小数点后第几位数由 SET DECIMALS 决定。
注意,仅仅根据正弦值 x 并不能确定返回值位于哪一个象限,因此 atan() 的返回值不包含象限信息,如果想知道在哪一象限,请参考 atan2() 函数。
弧度与角度的关系为:
使用 rtod( ) 函数可以将弧度值转换为角度值。
注意,使用 GCC 编译时请加入-lm。
例如,求 1.0 的反正切值。
#include <stdio.h>
#include <math.h>
#define PI 3.14159265
int main ()
{
double param, result;
param = 1.0;
result = atan (param) * 180 / PI;
printf ("The arc tangent of %f is %f degrees\n", param, result );
return 0;
}
运行结果:The arc tangent of 1.000000 is 45.000000 degrees.
又如,知道一个正切值,求其反正切。
#include<stdio.h>
#include<math.h>
int main(void)
{
double angl,result;
angl = 1;
result =atan(tan(angl));/*求反正切值*/
printf("atan(%lf) is %lf\n",tan(angl),result);/*格式化输出*/
angl = 3.1415926;
result = atan(angl);/*求反正切值*/
printf("atan(%lf) is %lf\n",tan(angl),result);/*格式化输出*/
return 0;
}
运行结果:
程序先定义double型角度变量angl和结果变量 result,然后把角度变量值赋值为1,语句atan(tan(angl))的作用是先求角度angl的正切值,再将该正切值赋值给result,正确的结果应该是1,紧接着下一句是使用 printf() 函数输出计算结果到计算机屏幕。后面的代码功能一样,只是换个角度值以便对比。