zoukankan      html  css  js  c++  java
  • POJ2080 角度问题[cmath函数]

    夹角有多大II

    Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
    Total Submission(s): 4349    Accepted Submission(s): 2073


    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
     
    Author
    xhd
     
    Source
     
    Recommend
    lcy
     
     
     
     
      正弦(sin)等于对边比斜边;
     
      余弦(cos)等于邻边比斜边;
     
      正切(tan)等于对边比邻边;
     
      余切(cot)等于邻边比对边;
     
      正割(sec)等于斜边比邻边;
     
      余割(csc)等于斜边比对边。 
     
     
    余弦定理:
    cosA=(b*b+c*c-a*a)/2*b*c
    cmath函数中,三角函数表示的是弧度,如果要变成角度,要加上angle=acos()/PI*180     
    函数说明:   
    using ::abs; //绝对值   
    using ::acos; //反余弦   
    using ::acosf; //反余弦   
    using ::acosl; //反余弦   
    using ::asin; //反正弦   
    using ::asinf; //反正弦   
    using ::asinl; //反正弦   
    using ::atan; //反正切   
    using ::atan2; //y/x的反正切   
    using ::atan2f; //y/x的反正切   
    using ::atan2l; //y/x的反正切   
    using ::atanf; //反正切   
    using ::atanl; //反正切   
    using ::ceil; //上取整   
    using ::ceilf; //上取整   
    using ::ceill; //上取整   
    using ::cos; //余弦   
    using ::cosf; //余弦   
    using ::cosh; //双曲余弦   
    using ::coshf; //双曲余弦   
    using ::coshl; //双曲余弦   
    using ::cosl; //余弦   
    using ::exp; //指数值   
    using ::expf; //指数值   
    using ::expl; //指数值   
    using ::fabs; //绝对值   
    using ::fabsf; //绝对值   
    using ::fabsl; //绝对值   
    using ::floor; //下取整   
    using ::floorf; //下取整   
    using ::floorl; //下取整   
    using ::fmod; //求余   
    using ::fmodf; //求余   
    using ::fmodl; //求余   
    using ::frexp; //返回value=x*2n中x的值,n存贮在eptr中   
    using ::frexpf; //返回value=x*2n中x的值,n存贮在eptr中   
    using ::frexpl; //返回value=x*2n中x的值,n存贮在eptr中   
    using ::ldexp; //返回value*2exp的值   
    using ::ldexpf; //返回value*2exp的值   
    using ::ldexpl; //返回value*2exp的值   
    using ::log; //对数   
    using ::log10; //对数   
    using ::log10f; //对数   
    using ::log10l; //对数   
    using ::logf; //对数   
    using ::logl; //对数   
    using ::modf; //将双精度数value分解成尾数和阶   
    using ::modff; //将双精度数value分解成尾数和阶   
    using ::modfl; //将双精度数value分解成尾数和阶   
    using ::pow; //计算幂   
    using ::powf; //计算幂   
    using ::powl; //计算幂   
    using ::sin; //正弦   
    using ::sinf; //正弦   
    using ::sinh; //双曲正弦   
    using ::sinhf; //双曲正弦   
    using ::sinhl; //双曲正弦   
    using ::sinl; //正弦   
    using ::sqrt; //开方   
    using ::sqrtf; //开方   
    using ::sqrtl; //开方   
    using ::tan; //正切   
    using ::tanf; //正切   
    using ::tanh; //双曲正切   
    using ::tanhf; //双曲正切   
    using ::tanhl; //双曲正切   
    using ::tanl; //正切
     
     
     
     1 #include<iostream>
     2 #include<cmath>
     3 using namespace std;
     4 #define PI 3.141592654
     5 int main()
     6 {
     7     int n;
     8     double x1,y1,x2,y2;
     9     double a,b,c;
    10     double angle;
    11     while(~scanf("%d",&n))
    12     {
    13         while(n--)
    14         {
    15             scanf("%lf%lf%lf%lf",&x1,&y1,&x2,&y2);
    16             a=sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1));
    17             b=sqrt(x1*x1+y1*y1);
    18             c=sqrt(x2*x2+y2*y2);
    19             angle=acos((x1*x1+y1*y1+x2*x2+y2*y2-((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1)))/(2.0*b*c))/PI*180;
    20             printf("%.2f\n",angle);
    21         }
    22     }
    23     return 0;
    24 }






                If you have any questions about this article, welcome to leave a message on the message board.



    Brad(Bowen) Xu
    E-Mail : maxxbw1992@gmail.com


  • 相关阅读:
    第26月第26天 Domain=AVFoundationErrorDomain Code=-11850
    第26月第25天 ubuntu openjdk-8-jdk jretty
    第26月第23天 nsobject 单例 CFAbsoluteTimeGetCurrent
    第26月第22天 iOS瘦身之armv7 armv7s arm64选用 iOS crash
    第26月第20天 springboot
    第26月第18天 mybatis_spring_mvc pom
    python中的字符数字之间的转换函数
    python if else elif statement
    python 赋值魔法
    python print import使用
  • 原文地址:https://www.cnblogs.com/XBWer/p/2530761.html
Copyright © 2011-2022 走看看