2225 - 【计算两点间的距离】
时间限制 : 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); } } }