已知两点,求两点与原点连线的角度

/*
怎么求夹角;已知两点坐标要求其到原点连线的夹角,
那么我们可以用向量去做,
用向量的积除以向量模的乘积,在求其反函数,
然后转换为角度就可以知道其角度为多少了;
向量的模的乘积怎么算:      sqrt(x^2+y^2);
向量的乘积   x1*x2+y1*y2;
*/
#include<iostream>
#include<cmath>
using namespace std;
const double PI=acos(-1.0);
int main()
{
	double x1, x2, y1, y2;
	double mo, ji;
	int t;
	scanf("%d", &t);
	while (t--)
	{
		scanf("%lf%lf%lf%lf", &x1, &y1, &x2, &y2);
		mo = sqrt(x1*x1 + y1*y1)*sqrt(x2*x2 + y2*y2);
		ji = x1*x2 + y1*y2;
		printf("%.2lf
", acos(ji / mo) / PI*180.0);
	}
	return 0;
}
原文地址:https://www.cnblogs.com/horken/p/10706151.html