【问题描述】普通时钟都有时针和分针,在任意时刻时针和分针都有一个夹角,并且假设时针和分针都是连续移动的。现已知当前的时刻,试求出该时刻时针和分针的夹角A(0<=A<=180)。
注意:当分针处于0分和59分之间时,时针相对于该小时的起始位置也有一个偏移角度。求夹角写一下个函数,该函数原型为:double clockAngle(int hours,int minutes).
【输入形式】从标准输入读取一行,是一个24小时制的时间。格式是以冒号(':')分隔的两个整数m(0<=m<=23)和n(0<=n<=59),其中m是小时,n是分钟。
【输出形式】向标准输出打印结果。输出一个浮点数A,是时针和分针夹角的角度值。该浮点数保留3位小数值。
【输入样例】
8:10
【输出样例】
175.000
【样例说明】8:10那个时刻时针与秒针的夹角是175.000度
解析:首先需要将输入的时间转换为小时和分钟,然后计算时针和分针的角度。具体步骤如下:
- 将输入的时间字符串按照冒号分隔,得到小时和分钟;
- 计算时针的角度,时针每小时移动30度,所以时针的角度为(小时数 * 60 + 分钟数) * 30 / 12;
- 计算分针的角度,分针每分钟移动6度,所以分针的角度为分钟数 * 6;
- 计算时针和分针的夹角,夹角为两个角度之差的绝对值;
- 输出夹角,保留3位小数。
代码如下:
#include <iostream>
#include <cmath>

根据给定的24小时制时间,求解时针和分针的夹角问题。程序通过输入小时和分钟,计算时针和分针对应的角度,然后得出两者之间的夹角并保留三位小数。示例中,8:10时的夹角是175.000度。
订阅专栏 解锁全文
4560

被折叠的 条评论
为什么被折叠?



