C言語,hypot()関数で直角三角形の斜辺の長さを計算する

スポンサーリンク

鍛錬 695

C言語,hypot()関数で直角三角形の斜辺の長さを計算する

直角三角形の斜辺の長さ「sqrt(x^2 + y^2)」を計算するには、hypot()関数を使用します。
 
以下は、hypot()関数についてです。

#include <math.h>

double hypot(double x, double y);
 

引数

以下は、上記の引数についてです。

引数 意味
double x x 軸の長さ
double y y 軸の長さ

戻り値

以下は、戻り値についてです。

戻り値
double (x の2乗と y の2乗の和) の平方根
スポンサーリンク

プログラム

以下は、直角三角形の斜辺の長さを計算するプログラム、get_hypot.c です。

今回は、x 軸と y 軸の長さについて、次の値を使用しています。

順序 x 軸の長さ y 軸の長さ
1回目 1 sqrt(3)
2回目 4 3
3回目 12 5
\(\sqrt{1^2 + \sqrt{3}^2}\)
\(\sqrt{4^2 + 3^2}\)
\(\sqrt{12^2 + 5^2}\)
// include
#include <stdio.h>
#include <math.h>

// main
int main(void)
{
	double x, y;
	double result;
	
	// 斜辺の長さを取得
	x = 1.0;
	y = sqrt(3.0);
	result = hypot(x, y);
	printf("[x=1, y=sqrt(3)]\n");
	printf(" --> hypotenuse=%.2lf\n", result);
	
	x = 4.0;
	y = 3.0;
	result = hypot(x, y);
	printf("[x=4, y=3]\n");
	printf(" --> hypotenuse=%.2lf\n", result);
	
	x = 12.0;
	y = 5.0;
	result = hypot(x, y);
	printf("[x=12, y=5]\n");
	printf(" --> hypotenuse=%.2lf\n", result);
	
	return 0;
}
スポンサーリンク

実行結果

以下は、プログラム get_hypot.c を実行しています。

***@ubuntu:~/***/test/c$ 
***@ubuntu:~/***/test/c$ gcc -Wall -Wextra get_hypot.c -lm -o get_hypot
***@ubuntu:~/***/test/c$ ./get_hypot
[x=1, y=sqrt(3)]
 --> hypotenuse=2.00
[x=4, y=3]
 --> hypotenuse=5.00
[x=12, y=5]
 --> hypotenuse=13.00

 
上記に示した通り、斜辺の長さは以下に示す通りであることが分かりました。

\(\sqrt{1^2 + \sqrt{3}^2} = 2\)
\(\sqrt{4^2 + 3^2} = 5\)
\(\sqrt{12^2 + 5^2} = 13\)
タイトルとURLをコピーしました