输入:小明家有一个非常旧的钟表,表盘上的数字已经看不清了,但是时针依然运转完好,于是小明想根据时针的角度来判断现在的时间,请你编程来帮助他。
当时针指向正右方,也就是3点钟的时候,我们规定此时为0度。因此,当时针转过80度的时候,此时的时间在0点钟与1点钟之间。
注意我们规定没有12点钟,要用0点钟来表示。
输出:输入包含多组测试数据。
每组输入一个整数a(0<=a<360),表示时针转过的角度。当a=-1时,输入结束。
样例输入:对于每组输入,输出现在的时间,格式有两种,如下:
(1)Exactly x o'clock
(2)Between x o'clock and y o'clock
注意,当输出为第二种格式时,x点钟应该是y点钟之前一个小时的那个整点,所以你不能输出例如“Between 3 o'clock and 2 o'clock”这种结果。
样例输出:90
245
-1
解题思路:Exactly 0 o'clock
Between 6 o'clock and 7 o'clock
程序代码:我们将钟表的3点设为0度,根据题意,要逆时针旋转,把12点设为0点,可以建立一个数组,从3开始,逆时针依次为2,1,0(12点),转过一圈回到3点即为0度,思考一下是有规律的,用角度/30就可以了!
#include<stdio.h>
int main()
{
int n,a[15]={3,2,1,0,11,10,9,8,7,6,5,4,3};
while(scanf("%d",&n)!=EOF)
{
if(n==-1)
break;
if(n%30==0)
printf("Exactly %d o'clock\n",a[n/30]);
else
printf("Between %d o'clock and %d o'clock\n",a[n/30+1],a[n/30]);
}
return 0;
}