C 庫 - tan() 函式



C 庫的 tan() 函式返回給定角度的正切值。此函式在物理學、天文學、谷歌地圖、工程學等多個領域具有廣泛的實際應用。

語法

以下是 C 庫函式 tan() 的語法:

tan(double x);

引數

此函式僅接受一個引數:

  • x:型別為 double,表示以弧度為單位的角度,正切值在此角度下計算。

返回值

此函式返回 x 的指定值。

示例 1

以下是一個基本的 C 程式,演示了 tan() 函式的使用。

#include <stdio.h>
#include <math.h>

int main() {
   double angle_degrees = 45.0;
   
   // Convert to radians
   double angle_radians = angle_degrees * M_PI / 180.0;  
   double tangent = tan(angle_radians);

   printf("The tangent of %.2f degrees is %.2f\n", angle_degrees, tangent);
   return 0;
}

輸出

以上程式碼產生以下結果:

The tangent of 45.00 degrees is 1.00

示例 2

在這裡,我們以陣列的形式計算多個角度的正切值。

#include <stdio.h>
#include <math.h>

int main() {
   double angles_degrees[] = {0, 30, 45, 60, 90};
   int size = sizeof(angles_degrees) / sizeof(angles_degrees[0]);

   printf("Angle (degrees) | Tangent\n");
   printf("****************|**********\n");
   for (int i = 0; i < size; i++) {
       double angle_radians = angles_degrees[i] * M_PI / 180.0;
       double tangent = tan(angle_radians);
       printf("%15.2f | %f\n", angles_degrees[i], tangent);
   }
   return 0;
}

輸出

執行以上程式碼後,我們得到以下結果:

Angle (degrees) | Tangent
****************|**********
           0.00 | 0.000000
          30.00 | 0.577350
          45.00 | 1.000000
          60.00 | 1.732051
          90.00 | 16331239353195370.000000

示例 3

在處理特殊情況(例如無窮大和 NaN)時,它會對可能導致特殊值的各種角度進行運算。因此,它會檢查無窮大和 NaN 以列印指定的值。

#include <stdio.h>
#include <math.h>

int main()
{
   double angles_radians[] = {M_PI / 4, M_PI / 2, M_PI, INFINITY, NAN};
   int size = sizeof(angles_radians) / sizeof(angles_radians[0]);

   printf("Angle (radians) | Tangent\n");
   printf("****************|**********\n");
   for (int i = 0; i < size; i++) {
       double tangent = tan(angles_radians[i]);
       if (isnan(tangent)) {
           printf("%15.2f | NaN\n", angles_radians[i]);
       } else if (isinf(tangent)) {
           printf("%15.2f | Infinity\n", angles_radians[i]);
       } else {
           printf("%15.2f | %f\n", angles_radians[i], tangent);
       }
    }

   return 0;
}

輸出

以上程式碼產生以下結果:

Angle (radians) | Tangent
****************|**********
           0.79 | 1.000000
           1.57 | 16331239353195370.000000
           3.14 | -0.000000
            inf | NaN
            nan | NaN
math_h.htm
廣告

© . All rights reserved.