http://acm.hdu.edu.cn/showproblem.php?pid=2001
Problem Description
输入两点坐标(X1,Y1),(X2,Y2),计算并输出两点间的距离。
Input
输入数据有多组,每组占一行,由4个实数组成,分别表示x1,y1,x2,y2,数据之间用空格隔开。
Output
对于每组输入数据,输出一行,结果保留两位小数。
Sample Input
0 0 0 1 0 1 1 0
Sample Output
1.00 1.41
代码:
#include <bits/stdc++.h> using namespace std; int main()
{
double x1,x2,y1,y2;
while(cin >> x1 >> y1 >> x2 >> y2)
{
double len = 0;
double n=0,m=0;
double l1 = 0,l2 = 0;
n= (x1 - x2) *(x1 - x2);
if(n >= 0)
n = n;
else
n= -1 * n;
m = (y1 - y2) * (y1 - y2);
if(m >= 0)
m = m;
else
m= -1 * m;
l1 = sqrt(n);
l2 = sqrt(m);
len = sqrt(l1*l1+l2*l2);
printf("%.2lf\n",len);
}
return 0;
}