hdu 2080 夾角有多大II
夾角有多大II
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 20676 Accepted Submission(s): 10551
Problem Description
這次xhd面臨的問(wèn)題是這樣的:在一個(gè)平面內(nèi)有兩個(gè)點(diǎn),求兩個(gè)點(diǎn)分別和原點(diǎn)的連線的夾角的大小。
注:夾角的范圍[0,180],兩個(gè)點(diǎn)不會(huì)在圓心出現(xiàn)。
Input
輸入數(shù)據(jù)的第一行是一個(gè)數(shù)據(jù)T,表示有T組數(shù)據(jù)。
每組數(shù)據(jù)有四個(gè)實(shí)數(shù)x1,y1,x2,y2分別表示兩個(gè)點(diǎn)的坐標(biāo),這些實(shí)數(shù)的范圍是[-10000,10000]。
Output
對(duì)于每組輸入數(shù)據(jù),輸出夾角的大小精確到小數(shù)點(diǎn)后兩位。
Sample Input
2
1 1 2 2
1 1 1 0
Sample Output
0.00
45.00

解題思路:
.求夾角...先求出COS,然后用acos
代碼:
#include "stdio.h"
#include "math.h"
int main()
{
double x1,x2,y1,y2,k;
int t,i;
scanf("%d",&t);
for(i=0;i<t;i++)
{
scanf("%lf%lf%lf%lf",&x1,&y1,&x2,&y2);
k=(x1*x2+y1*y2)/sqrt(x1*x1+y1*y1)/sqrt(x2*x2+y2*y2);
printf("%.2lf\n",180*acos(k)/3.1415926);
}
return 0;
}
評(píng)論
圖片
表情
