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\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;

}


 

 

你可能感兴趣的:(HDU)