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<iostream>
#include<cstdio>
#include<math.h>
using namespace std;
int main()
{
float x1,y1,x2,y2;
float a,b,sum;
while(scanf("%f%f%f%f",&x1,&y1,&x2,&y2)!=EOF)
{
if(x1==x2)
sum=(y1>y2?y1-y2:y2-y1);
else
if(y1==y2)
sum=(x1>x2?x1-x2:x2-x1);
else
{
a=(x1-x2>0?x1-x2:x2-x1);
b=(y1-y2>0?y1-y2:y2-y1);
sum=sqrt(a*a+b*b);
}
printf("%.2f\n",sum);
}
return 0;
}