博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
POJ-2080 角度问题[cmath函数]
阅读量:7159 次
发布时间:2019-06-29

本文共 2986 字,大约阅读时间需要 9 分钟。

 

夹角有多大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
2 #include
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 }

转载地址:http://etegl.baihongyu.com/

你可能感兴趣的文章
zabbix服务端安装教程
查看>>
Windows系统服务器(网站)安全注意事项
查看>>
管理Linux启动项——停止MySQL自启动
查看>>
Python 自动化运维1-字典
查看>>
网络数据隐私保护,阿里工程师怎么做?
查看>>
始于阿里,回归社区|阿里巴巴的开源之路
查看>>
JUC包中的分而治之策略-为提高性能而生
查看>>
如何命令行获取ip地址归属地 非网页形式
查看>>
bigbluebutton1.0\mconf-web\mconf-mobile安装部署联调
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
0001 -- 搭建bootstrap环境。
查看>>
jquery 自动完成 Autocomplete
查看>>
dubbo性能测试
查看>>
fatal: refusing to merge unrelated histories
查看>>
centos7默认运行级别和终端分辨率修改
查看>>
FMDB使用Cached Statement功能
查看>>
Echarts画折线图超过1000个点,加载慢
查看>>
DNS相关配置
查看>>
【新】斯凯平台的搭建
查看>>