纯数学题,很多种解法,我用了两种解法
根据x表示与x轴的夹角,tanx=y/x;
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <cmath>
using namespace std;
#define PI 3.141592653
int main()
{
double x1,y1,x2,y2,a1,a2,a3;
int n;
scanf("%d",&n);
while(n--)
{
scanf("%lf%lf%lf%lf",&x1,&y1,&x2,&y2);
a1=atan2(y1,x1);
a2=atan2(y2,x2);
a3=fabs(a1-a2);
printf("%.2lf\n",a3*180/PI);
}
return 0;
}
根据x表示所求夹角,cosx=向量a 点乘 向量b/模a*模b
#include <cstdio>
#include <cmath>
using namespace std;
#define PI 3.141592653;
int main()
{
int n;
scanf("%d",&n);
while(n--)
{
double x1,x2,y1,y2,t,a,b,c;
scanf("%lf%lf%lf%lf",&x1,&y1,&x2,&y2);
a=x1*x2+y1*y2;
b=sqrt(x2*x2+y2*y2);
c=sqrt(x1*x1+y1*y1);
t=acos(a/b/c)*180/PI;
printf("%.2lf\n",t);
}
return 0;
}