1. 程式人生 > >【杭電-oj】-2076-夾角有多大

【杭電-oj】-2076-夾角有多大

Problem Description 時間過的好快,一個學期就這麼的過去了,xhd在傻傻的看著表,出於對資料的渴望,突然他想知道這個表的時針和分針的夾角是多少。現在xhd知道的只有時間,請你幫他算出這個夾角。

注:夾角的範圍[0,180],時針和分針的轉動是連續而不是離散的。

Input 輸入資料的第一行是一個數據T,表示有T組資料。
每組資料有三個整數h(0 <= h < 24),m(0 <= m < 60),s(0 <= s < 60)分別表示時、分、秒。

Output 對於每組輸入資料,輸出夾角的大小的整數部分。

Sample Input 2 8 3 17 5 13 30
Sample Output 138 75 注意24小時表示時大於12點的數應減去12!!!
#include<stdio.h>
int main()
{
	int n;
	scanf("%d",&n);
	while(n--)
	{
		double h,m,s;
		double y1,y2,y3,y4;
		scanf("%lf%lf%lf",&h,&m,&s);
		if(h>=12)
			h=h-12; 
		y1=s/60;
		y2=(m+y1)/60;
		y3=y2*360;
		y4=(h+y2)*30;
		if(y4>y3)
		{
			if((y4-y3)>180)
				printf("%d\n",int (360-y4+y3));
			else
				printf("%d\n",int (y4-y3));
		}
		else
		{
			if((y3-y4)>180)
				printf("%d\n",int (360-y3+y4));
			else
				printf("%d\n",int (y3-y4));
		}
	}
	return 0;
}