c语言程序设计 计算时钟的夹角背景:钟面上的时针和分针之间的夹角总是在 0 359 度之间.举例来说,在十二点的时候两针之间的夹角为 0 度,而在六点的时候夹角为 180 度,在三点的时候为 90 度
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/15 06:46:02
c语言程序设计 计算时钟的夹角背景:钟面上的时针和分针之间的夹角总是在 0 359 度之间.举例来说,在十二点的时候两针之间的夹角为 0 度,而在六点的时候夹角为 180 度,在三点的时候为 90 度
c语言程序设计 计算时钟的夹角
背景:
钟面上的时针和分针之间的夹角总是在 0 359 度之间.举例来说,在十二点的时候两针之间的夹角为 0 度,而在六点的时候夹角为 180 度,在三点的时候为 90 度.本题要解决的是计算 0:00 到 12:00之间任意一个时间的夹角.
输入:
每组测试数据包含两个数字:第一个数字代表小时 ( 大于等于 0 小于等于 12) ,第二个数字代表分 ( 在区间 [0,59] 上 ) .
输出:
对应每组测试数据,用常用格式显示时间以及这个时候时针和分针间的最小夹角,精确到小数点后一位.
友情提示:以表中心到12点的连线为基准,分针每走1分钟是6度,时针与基准的夹角每个小时也是30度,从整点开始,每过1分钟时针再增加0.5度.
提示:时钟夹角计算公式|5.5m-30h|,h为时针,m为分针.求浮点型绝对值的函数为fabs,需要包含math.h头文件
c语言程序设计 计算时钟的夹角背景:钟面上的时针和分针之间的夹角总是在 0 359 度之间.举例来说,在十二点的时候两针之间的夹角为 0 度,而在六点的时候夹角为 180 度,在三点的时候为 90 度
//根据楼主的意思,以下是完整程序,楼主自行添加case个数限制.有问题请再追问
#include <stdio.h>
#include <math.h>
int h, m;
double calc(int h, int m)
{
double res;
//24小时制
h %= 12;
m %= 60;
res = fabs(h*30 + m*0.5 - m*6);
if(res > 180)res = 360 - res;
return res;
}
int main(int argc, char ** argv)
{
scanf("%d %d", &h, &m);
printf("AT %02d:%02d the angle is %.1f\n", h, m, calc(h, m));
return 0;
}