钟面上的时针和分针之间的夹角总是在 0 ~180之间 ( 包括 0 和180 ) 。举例来说,在十二点的时候两针之间的夹角为 0 ,而在六点的时候夹角为180 ,在三点的时候为90 。本题要解决的是计算 12:00 到 11:59 之间任意一个时间的夹角。
输入格式:
每组测试数据包含两个数字:第一个数字代表小时 ( 大于 0 小于等于 12) ,第二个数字代表分 ( 在区间 [0, 59] 上 ) 。
输出格式:
对应每组测试数据,用常用格式显示时间以及这个时候时针和分针间的最小夹角,精确到小数点后一位。输出格式如下所示。
再看一看,想一想:是否可以不用if 语句,只使用 printf 函数来简化你的程序?
# python3
a = int(input("请输入小时数"))
b = int(input("请输入分钟数"))
hang = (360/12) * a+(30/60) * b
mang = (360/60) * b
hang = abs( hang-180 )
mang = abs( mang-180)
output = abs( mang-hang)
print(output)
思路就这个,你自己改成C就行
int main(int argc, char *argv[])
{
int tmpHour = -1;
int tmpMin = -1;
while (!(tmpHour > 0 && tmpHour <= 12))
{
printf_s("input hour((0,12]):");
scanf_s("%d", &tmpHour);
}
while (!(tmpMin >= 0 && tmpMin <= 59))
{
printf_s("input hour([0,59]):");
scanf_s("%d", &tmpMin);
}
//float angleHour = 360.0 / 12 * tmpHour * (tmpHour ^ 12) + 360.0 / 12 / 60 * tmpMin;
//float angleMinute = 360.0 / 60 * tmpMin;
bool tmpB = tmpHour ^ 12;
float tmpAngle = fabs(5.5 * tmpMin - 30.0 * tmpHour * (int)tmpB);
printf("result:%0.1f", tmpAngle);
//system("pause");
}