HDOJ 2080 夹角有多大II

2021-01-20 16:23:45 浏览数 (1)

Problem Description 这次xhd面临的问题是这样的:在一个平面内有两个点,求两个点分别和原点的连线的夹角的大小。

注:夹角的范围[0,180],两个点不会在圆心出现。

Input 输入数据的第一行是一个数据T,表示有T组数据。 每组数据有四个实数x1,y1,x2,y2分别表示两个点的坐标,这些实数的范围是[-10000,10000]。

Output 对于每组输入数据,输出夹角的大小精确到小数点后两位。

Sample Input 2 1 1 2 2 1 1 1 0

Sample Output 0.00 45.00

代码语言:javascript复制
import java.util.Scanner;

public class Main{

    static final double PI  = 3.141592653;
    public static void main(String[] args) {
        Scanner sc =new Scanner(System.in);
        int t = sc.nextInt();
        while(t-->0){
            double x1 = sc.nextDouble();
            double y1 = sc.nextDouble();
            double x2 = sc.nextDouble();
            double y2 = sc.nextDouble();

            double a = x1*x1 y1*y1;
            double b = x2*x2 y2*y2;
            double c = (x2-x1)*(x2-x1) (y2-y1)*(y2-y1);

            double m =( Math.acos(((a b-c)/(2*Math.sqrt(b)*Math.sqrt(a)))))*180/PI;         

            System.out.printf("%.2f",m);
            System.out.println();

        }




    }

}

0 人点赞