夹角有多大II

来源:互联网 发布:pixate 知乎 编辑:程序博客网 时间:2024/06/08 18:38
Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 8129    Accepted Submission(s): 4097


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

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

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

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

Sample Input
21 1 2 21 1 1 0
 

Sample Output
0.0045.00

#include<stdio.h>

#include<math.h>

main()

{

      int q;

      double a,b,c,d,m,n,s,w,x;

      scanf("%d",&q);

      while(q--)

      {

      scanf("%lf%lf%lf%lf",&a,&b,&c,&d);

      m=sqrt(a*a+b*b);

      n=sqrt(c*c+d*d);

      w=sqrt((a-c)*(a-c)+(b-d)*(b-d));

      x=(m*m+n*n-w*w)/(2*n*m);

      printf("%.2lf\n",180/3.141592*acos(x));

      }

      return 0;

      }

                

0 0