编辑这个页面须要登录或更高权限!

C++ hypot() 函数使用方法及示例

C++ 库函数 <cmath>

C ++中的hypot()函数返回传递的参数平方和的平方根(根据勾股定理)。

hypot()原型

double hypot(double x, double y);
float hypot(float x, float y);
long double hypot(long double x, long double y);
Promoted pow(Type1 x, Type2 y);

double hypot(double x, double y, double x); //(从 C++17 开始)
float hypot(float x, float y, float z); // (从 C++17 开始)
long double hypot(long double x, long double y, long double z); // (从 C++17 开始)
Promoted pow(Type1 x, Type2 y, Type2 y); //(从 C++17 开始)

从C ++ 11开始,如果传递给hypot()的参数为long double,则返回类型Promoted为long double。如果不是,则返回类型Promoted为double。

h = √(x2+y2

在数学上相当于

h = hypot(x, y);

在C ++编程中。

如果传递了三个参数:

h = √(x2+y2+z2))

在数学上相当于

h = hypot(x, y);

在C ++编程中。

此函数在<cmath>头文件中定义。

hypot()参数

hytpot()可以使用2或3个整数或浮点类型的参数。

hypot()返回值

hypot()返回:

  • 如果传递了两个参数,则为直角三角形的斜边,即。√(x2+y2)

  • 如果传递了三个参数,则从原点到(x,y,x)的距离。√(x2+y2+z2)

示例1:hypot()如何在C ++中工作?

#include <iostream>
#include <cmath>
using namespace std;

int main()
{
	double x = 2.1, y = 3.1, result;
	result = hypot(x, y);
	cout << "hypot(x, y) = " << result << endl;
	
	long double yLD, resultLD;
	x = 3.52;
	yLD = 5.232342323;
	
	// 在本示例中,该函数返回long double
	resultLD = hypot(x, yLD);
	cout << "hypot(x, yLD) = " << resultLD;
	
	return 0;
}

运行该程序时,输出为:

hypot(x, y) = 3.74433
hypot(x, yLD) = 6.30617

示例2:具有三个参数的hypot()

#include <iostream>
#include <cmath>
using namespace std;

int main()
{
	double x = 2.1, y = 3.1, z = 23.3, result;
	result = hypot(x, y, z);
	cout << "hypot(x, y, z) = " << result << endl;
		
	return 0;
}

注意:该程序仅在支持C ++ 17的新编译器中运行。

C++ 库函数 <cmath>