2225 - 【计算两点间的距离】

通过次数

0

提交次数

0

时间限制 : 1 秒 内存限制 : 128 MB

输入两点坐标(X1,Y1),(X2,Y2),计算并输出两点间的距离。

题目输入

输入数据有多组,每组占一行,由4个实数组成,分别表示x1,y1,x2,y2,数据之间用空格隔开。

题目输出

对于每组输入数据,输出一行,结果保留两位小数。

输入/输出样例

输入格式

0 0 0 1
0 1 1 0

输出格式

1.00
1.41

C语言解答

#include<stdio.h>
#include<math.h>
int main ()
{
    double a,b,c,d;
    while(scanf("%lf%lf%lf%lf",&a,&b,&c,&d)!=EOF)
    {
        printf("%.2lf\n",sqrt((a-c)*(a-c)+(b-d)*(b-d)));
    }
    return 0;
}

C++解答

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


int main(){

	double x1, x2, y1, y2;
	double l;



	//int n = 10;
	while (cin >> x1 >> y1 >> x2 >> y2){
		
		l = sqrt(pow((x1 - x2),2) + pow((y1 - y2),2));
		cout << fixed << setprecision(2) << l << endl;
		//n--;


	}
	return 0;
}



Java解答

import java.util.Scanner;
public class Main
{
	public static void main(String[] argsStrings)
	{
		int x1,y1,x2,y2;
		double distance;
		Scanner inputScanner=new Scanner(System.in);
		while(inputScanner.hasNextInt())
		{
			x1=inputScanner.nextInt();
			y1=inputScanner.nextInt();
			x2=inputScanner.nextInt();
			y2=inputScanner.nextInt();
			distance=Math.sqrt(Math.pow(x1-x2, 2)+Math.pow(y1-y2, 2));
			System.out.printf("%.2f\n", distance);
		}
	}
}