你需要实现一个函数,给定平面上的点 ,以及一条由另外两个点 和 确定的直线 ,求点 到直线 的距离。
输入描述:
共 行。第一行是两个空格隔开的整数 。第二行是四个空格隔开的整数 。
输出描述:
共一行,一个实数,表示点 到直线 的距离,保留两位小数。
示例1
输入
0 0 -1 1 1 1
输出
1.00
备注:
。
加载中...
import java.util.Scanner; public class Main { static class Point { double x, y; Point(double a, double b) { x = a; y = b; } } static class Line { Point pointA, pointB; Line(Point a, Point b) { pointA = a; pointB = b; } } static double getDistance(Point P, Line L) { // TODO: 计算点P到直线L的距离 return 0.0; } public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int a = scanner.nextInt(); int b = scanner.nextInt(); int sx = scanner.nextInt(); int sy = scanner.nextInt(); int tx = scanner.nextInt(); int ty = scanner.nextInt(); Point pointA = new Point(sx, sy); Point pointB = new Point(tx, ty); Point pointC = new Point(a, b); Line line = new Line(pointA, pointB); System.out.printf("%.2f", getDistance(pointC, line)); scanner.close(); } }
#include
using namespace std; struct point{ double x,y; point(double A,double B){ x=A,y=B; } point() = default; }; struct line{ point point_A,point_B; line(point A,point B){ point_A = A,point_B = B; } line() = default; }; double getDistance(point P, line L){ // TODO: 计算点P到直线L的距离 } int main(){ int a, b, sx, sy, tx, ty; cin >> a >> b >> sx >> sy >> tx >> ty; point A(sx, sy), B(tx, ty), C(a, b); line L(A, B); printf("%.2lf", getDistance(C, L)); return 0; }
import math class Point: def __init__(self, x, y): self.x = x self.y = y class Line: def __init__(self, point_a, point_b): self.point_a = point_a self.point_b = point_b def get_distance(P, L): # TODO: 计算点P到直线L的距离 pass def main(): a, b = map(int, input().split()) sx, sy, tx, ty = map(int, input().split()) point_a = Point(sx, sy) point_b = Point(tx, ty) point_c = Point(a, b) line = Line(point_a, point_b) print("{:.2f}".format(get_distance(point_c, line))) if __name__ == "__main__": main()
0 0 -1 1 1 1
1.00