杭电2080

此题就是一道简单的数学问题!!
没有太多好说的,就是利用了一下反三角函数,就轻松ac了!!!
此题需要注意以下几点:
1)PI的值等于acos(-1);
2)反三角函数求完的结果是弧度制,要乘以180/arcos(-1)变成角度制!
3)关系式arccos=(a*a+b*b-c*c)/(2*a*b);
祝你成功ac!!!

 

#include <iostream>

#include<cmath>

using namespace std;

int main()

{

int T;

double x1,x2,y1,y2,a,b,c,d;

cin>>T; getchar();

while(T--)

{

cin>>x1>>y1>>x2>>y2;

c=sqrt(pow((x1-x2),2)+pow((y1-y2),2));

a=sqrt(pow(x1,2)+pow(y1,2));

b=sqrt(pow(x2,2)+pow(y2,2));

d=(a*a+b*b-c*c)/(2*a*b);

d=180/acos(-1)*acos(d);

printf("%.2lf\n",d>180?(d-180):d);

}

return 0;

}

posted on 2012-10-29 20:03  @ 小浩  阅读(301)  评论(0编辑  收藏  举报