您的位置:首页 > 其它

*寒假水54——夹角有多大II【反三角函数】

2018-02-16 23:04 176 查看
这次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

#include<iostream>
#include<iomanip>

using namespace std;

#define PI 3.1415926;

int main()
{
double x1,x2,y1,y2;
int n;
double a,b,c;
cin>>n;
while(n--)
{
cin>>x1>>y1>>x2>>y2;
a=x1*x2+y1*y2;
b=sqrt(x1*x1+y1*y1)*sqrt(x2*x2+y2*y2);
c=acos(a/b)/PI;
c*=180;
cout<<fixed<<setprecision(2)<<c<<endl;
}
return 0;
}
题解:cosx=向量的乘积/向量的模。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: