Cライブラリ関数 -sqrt()

C 标准库 - <math.h>C標準ライブラリ - <math.h>

説明

Cライブラリ関数double sqrt(double x)返すxの平方根。

sqrt()はC標準ライブラリ<math.h>内の関数で、非負の数の平方根を計算するために使用されます。この関数は数学や工学でよく使用されます。

宣言

以下は sqrt() 関数の宣言です。

#include <math.h>

double sqrt(double x);
float sqrtf(float x);
long double sqrtl(long double x);

引数

  • x:非負の数で、平方根を計算する値。

戻り値

  • 返すxの平方根。
  • もしxが負の数の場合、NaN を返し、設定しますerrnoためにEDOM。

エラー処理

  • もしxが負の数の場合、sqrt()関数は NaN を返し、設定しますerrnoためにEDOM。

例

以下の例は sqrt() 関数の使い方を示しています。

例

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

int main ()
{

   printf("%lf の平方根は %lf\n", 4.0, sqrt(4.0) );
   printf("%lf の平方根は %lf\n", 5.0, sqrt(5.0) );
   
   return(0);
}

上記のプログラムをコンパイルして実行すると、次の結果が得られます。

4.000000 的平方根是 2.000000
5.000000 的平方根是 2.236068

複数の値の平方根を処理する

以下の例は、複数の値の平方根計算を処理する方法を示しています。

例

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

int main() {
    double values[] = {16.0, 25.0, 100.0, -1.0, 0.0};
    int num_values = sizeof(values) / sizeof(values[0]);

    for (int i = 0; i < num_values; i++) {
        double x = values[i];
        errno = 0;  // errno をリセット
        double result = sqrt(x);

        if (errno == EDOM) {
            printf("Domain error: sqrt(%f) is not defined\n", x);
        } else {
            printf("sqrt(%f) = %f\n", x, result);
        }
    }

    return 0;
}

上記のプログラムをコンパイルして実行すると、次の結果が得られます。

sqrt(16.000000) = 4.000000
sqrt(25.000000) = 5.000000
sqrt(100.000000) = 10.000000
sqrt(-1.000000) = nan
sqrt(0.000000) = 0.000000

コード解析

  • 複数の浮動小数点数を含む配列を定義しますvalues。
  • 使用してforループで各値を反復処理し、呼び出しますsqrt(x)計算を実行します。
  • リセットしerrno0 にして、可能性のあるエラーをチェックします。
  • 各値の平方根計算結果、またはエラーメッセージを出力します。

使用シナリオ

sqrt()この関数は多くのアプリケーションで幅広く使用されており、以下に限定されません:

  • 幾何学における距離の計算。
  • 物理学における速度、加速度などの計算。
  • 平方根に関連する数学の問題を解決します。

まとめ

sqrt()この関数は非負の数の平方根を計算するために使用され、数学計算を処理するための重要なツールです。適切に使用することでsqrt()、科学計算、工学応用、数学の問題で平方根の計算を実装し、可能性のあるエラーを適切に処理できるようにします。

C 标准库 - <math.h>C標準ライブラリ - <math.h>

その他の拡張