hdu 2080

题目链接


纯数学题,很多种解法,我用了两种解法


根据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
",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
",t);
    }

    return 0;
}


原文地址:https://www.cnblogs.com/riskyer/p/3260323.html