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