【深基7.例1】距离函数
题目描述
给出平面坐标上不在一条直线上三个点坐标 ( x 1 , y 1 ) , ( x 2 , y 2 ) , ( x 3 , y 3 ) (x_1,y_1),(x_2,y_2),(x_3,y_3) (x1,y1),(x2,y2),(x3,y3),坐标值是实数,且绝对值不超过 100.00,求围成的三角形周长。保留两位小数。
对于平面上的两个点 ( x 1 , y 1 ) , ( x 2 , y 2 ) (x_1,y_1),(x_2,y_2) (x1,y1),(x2,y2),则这两个点之间的距离 d i s = ( x 2 − x 1 ) 2 + ( y 2 − y 1 ) 2 dis=\sqrt{(x_2-x_1)^2+(y_2-y_1)^2} dis=(x2−x1)2+(y2−y1)2
输入格式
输入三行,第 i i i 行表示坐标 ( x i , y i ) (x_i,y_i) (xi,yi),以一个空格隔开。
输出格式
输出一个两位小数,表示由这三个坐标围成的三角形的周长。
样例 #1
样例输入 #1
0 0
0 3
4 0
样例输出 #1
12.00
提示
数据保证,坐标均为实数且绝对值不超过 100 100 100,小数点后最多仅有 3 3 3 位。
#include <bits/stdc++.h>
using namespace std;
struct point
{
double x;
double y;
}p1,p2,p3;
double edge(point p1,point p2)
{
double edge3;
edge3=sqrt((p1.x-p2.x)*(p1.x-p2.x)+(p1.y-p2.y)*(p1.y-p2.y));
return edge3;
}
int main()
{
double sum = 0;
cin>>p1.x>>p1.y;
cin>>p2.x>>p2.y;
cin>>p3.x>>p3.y;
sum=sum+edge(p1,p2)+edge(p1,p3)+edge(p2,p3);
cout<<fixed<<setprecision(2)<<sum;
return 0;
}