当前位置: 代码迷 >> 综合 >> HDOJ--2001
  详细解决方案

HDOJ--2001

热度:96   发布时间:2023-12-17 02:24:11.0

计算两点间的距离

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 158472    Accepted Submission(s): 56154


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



像这种题,多多少少都是有点小陷阱的。

注意输入的数据可能有小数的情况!

以下是我的AC代码:

#include<iostream>
#include<cmath>
using namespace std;
int main()
{double a[500][4];float b[500];int i=0,num=0;while(scanf("%lf%lf%lf%lf",&a[i][0],&a[i][1],&a[i][2],&a[i][3])==4){num++;b[i]=sqrt((a[i][0]-a[i][2])*(a[i][0]-a[i][2])+(a[i][1]-a[i][3])*(a[i][1]-a[i][3]));printf("%.2lf\n",b[i]);i++;}return 0;}