杭电ACM2080--夹角有多大II

http://acm.hdu.edu.cn/showproblem.php?pid=2080

/*
//Author:nunu
//
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>

int main(void)
{
    int n;
    double x[2], y[2], t;
    
    scanf("%d", &n);
    while (n-- && scanf("%lf%lf%lf%lf", x, y, x+1, y+1))
        printf("%.2f
", (t=asin(fabs(x[0]*y[1]-x[1]*y[0])/sqrt(x[0]*x[0]+y[0]*y[0])/sqrt(x[1]*x[1]+y[1]*y[1]))/acos(-1)*180)?x[0]*x[1]<=0&&y[0]*y[1]<=0?180-t:t:x[0]*x[1]<0?180:0);

    return 0;
}
*/

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define PI 3.141592653

int main()
{
    int n;
    double x1,x2,y1,y2,m,t;
    scanf("%d",&n);
    while(n--)
    {  
              scanf("%lf%lf%lf%lf",&x1,&y1,&x2,&y2);
              m=x1*x2+y1*y2;
              t=sqrt((x1*x1+y1*y1)*(x2*x2+y2*y2));
              printf("%.2lf
",acos(m/t)/PI*180);//这个是公式……不过也是网上来的
    } 
    return 0;
}


原文地址:https://www.cnblogs.com/acmwangpeng/p/5524874.html