acos()函數(shù)返回一個以弧度表示的數(shù)值的反余弦值。
acos()函數(shù)采用單個參數(shù)(1≥x≥-1),并返回弧度的反余弦值。
acos()函數(shù)包含在<math.h>頭文件中。
double acos(double x);
要查找類型為int,float或long double的反余弦,可以使用強制轉(zhuǎn)換運算符將類型顯式轉(zhuǎn)換為double。
int x = 0; double result; result = acos(double(x));
另外,C99中引入了兩個函數(shù)acosf()和acosl(),分別專門用于float類型和long double類型。
float acosf(float x); long double acosl(long double x);
acos()函數(shù)采用[-1,+1]范圍內(nèi)的單個參數(shù)。這是因為余弦值在1到-1之間。
| 參數(shù) | 描述 |
|---|---|
| double 值 | 需要。 一個介于-1和+1之間的雙精度值。 |
acos()函數(shù)返回以弧度為單位的[0.0,π]范圍內(nèi)的值。 如果傳遞給acos()函數(shù)的參數(shù)小于-1或大于1,則該函數(shù)返回NaN(不是數(shù)字)。
| 參數(shù)(x) | 返回值 |
|---|---|
| x = [-1, +1] | 弧度在[0, π] 范圍內(nèi) |
| -1 > x or x > 1 | NaN (不是數(shù)字r) |
#include <stdio.h>
#include <math.h>
int main()
{
//定義了常量 PI
const double PI = 3.1415926;
double x, result;
x = -0.5;
result = acos(x);
printf("cos(%.2f) 反余弦值 = %.2lf 弧度\n", x, result);
//將弧度轉(zhuǎn)換成角度
result = acos(x)*180/PI;
printf("cos(%.2f) 反余弦值 = %.2lf 度\n", x, result);
//參數(shù)不在范圍內(nèi)
x = 1.2;
result = acos(x);
printf("Inverse of cos(%.2f) = %.2lf", x, result);
return 0;
}輸出結(jié)果
cos(-0.50) 反余弦值 = 2.09 弧度 cos(-0.50) 反余弦值 = 120.00 度 cos(1.20) 反余弦值 = nan
#include <stdio.h>
#include <math.h>
int main()
{
float fx, facosx;
long double lx, ldacosx;
//浮點型的反余弦
fx = -0.505405;
facosx = acosf(fx);
//長雙精度類型的反余弦
lx = -0.50540593;
ldacosx = acosf(lx);
printf("acosf(x) = %f 弧度\n", facosx);
printf("acosl(x) = %Lf 弧度", ldacosx);
return 0;
}輸出結(jié)果
acosf(x) = 2.100648 弧度 acosl(x) = 2.100649 弧度