解决计算 0:00 到 12:00之间任意一个时间时针和分针的夹角。

简介: 解决计算 0:00 到 12:00之间任意一个时间时针和分针的夹角。

题目:


背景:钟面上的时针和分针之间的夹角总是在 0 度~ 359 度之间。举例来说,在十二点的时候两针之间的夹角为 0 度,而在六点的时候夹角为 180 度,在三点的时候为 90 度。本题要解决的是计算 0:00 到 12:00之间任意一个时间的夹角。

输入:要求输入必须为 小时h分钟m的格式,如12h00m, 5h43m等,其他形式的输入都不接收,如 12,00 或5h43等输入都不被接收,而且需要对“小时”和“分钟”进行数值有效判断(小时在[0,12],分钟在[0.60]之间),不满足以上要求时,需要重新输入。


在程序中首先打印:Please input time(e.g: 5h43m),然后输入时间。

输出:对应每组测试数据,用常用格式显示时间以及这个时候时针和分针间的最小夹角,精确到小数点后一位。如:

输入“12h00m”时,输出 At 12:00 the angle is 0.0 degrees.

输入“5h43m” 时,输出 At 5:43 the angle is 86.5 degrees.

输入“5h5m” 时,输出 At 5:05 the angle is 122.5 degrees.


提示1:以表中心到12点的连线为基准,分针每走1分钟是6度,时针与基准的夹角每个小时也是30度,从整点开始,每过1分钟时针再增加0.5度。要求结果角度为正值,即最终要取绝对值(fabs函数)

提示2:二者之间角度不应大于180度,如果大于,应用360度减去该角度。

输入提示:“Please input time(e.g: 5h43m)\n”

输入格式:"%d%c%d%c"

输出格式:“At %d:%02d the angle is %.1f degrees.\n”


程序运行示例:

Please input time(e.g: 5h43m)

7h56m

At 7:56 the angle is 98.0 degrees.


代码:


#include <stdio.h>
#include <math.h>
int main()
{
    int h,m,i=0;
    float alpha=0;
    printf("Please input time(e.g: 5h43m)\n");
       scanf("%dh%dm",&h,&m);
    for(;i==0;)
    {
       if(h<12 && h>0 && m>0 && m<60)
       {   i=1;
          alpha=fabs(30*h-5.5*m);
          if(m<10)
           printf("At %d:0%d the angle is %.1f degrees.",h,m,alpha);
           else
           printf("At %d:%d the angle is %.1f degrees.",h,m,alpha);
       }
       else
       {
          printf("Please input time(e.g: 5h43m)");
          scanf("%dh%dm",&h,&m);
       }
    }
}
相关文章
|
消息中间件 关系型数据库 Kafka
Flink CDC可以从Kafka消费数据并写入到Doris中
Flink CDC可以从Kafka消费数据并写入到Doris中
934 2
|
Oracle 安全 算法
重磅!JDK 17 发布,Oracle 宣布从 JDK 17 开始正式免费。。
JDK 16 刚发布半年(2021/03/16),JDK 17 又如期而至(2021/09/14),这个时间点牛逼啊,蹭苹果发布会的热度?记得当年 JDK 15 的发布也是同天,巧了。。
重磅!JDK 17 发布,Oracle 宣布从 JDK 17 开始正式免费。。
|
3月前
|
存储 人工智能 算法
鸿蒙HamonyOS应用上架手动签名与发布
鸿蒙HamonyOS应用上架手动签名与发布
233 4
鸿蒙HamonyOS应用上架手动签名与发布
|
7月前
|
负载均衡 监控 安全
A10 Thunder 6.0.5 - 应用交付与负载均衡
A10 Thunder 6.0.5 - 应用交付与负载均衡
191 8
|
2月前
|
Linux API iOS开发
Binary Ninja 4.2.6455 (macOS, Linux, Windows) - 反编译器、反汇编器、调试器和二进制分析平台
Binary Ninja 4.2.6455 (macOS, Linux, Windows) - 反编译器、反汇编器、调试器和二进制分析平台
203 14
Binary Ninja 4.2.6455 (macOS, Linux, Windows) - 反编译器、反汇编器、调试器和二进制分析平台
|
11月前
|
编解码 前端开发 算法
R中单细胞RNA-seq分析教程 (7)
R中单细胞RNA-seq分析教程 (7)
334 20
R中单细胞RNA-seq分析教程 (7)
|
3月前
|
存储 人工智能 弹性计算
阿里云权益中心详解:个人开发者与企业用户和高校学生与教师的综合优惠平台
阿里云权益中心是什么?简单来说,它是一个致力于为高校学生和教师、个人开发者、企业用户提供优惠上云和快速上云的平台,本文将深度解析权益中心的核心活动、适用场景及参与方式,以供您了解和参考。
|
10月前
|
机器学习/深度学习 人工智能 API
aliyun评测零门槛、即刻拥有 DeepSeek-R1 满血版
DeepSeek-R1满血版是一款零门槛、高性能的深度学习工具,旨在帮助开发者和研究人员高效实现创新。评测显示,其操作界面设计友好,左右分屏布局使理论与实践紧密结合,极大提升了操作连贯性和效率。用户可轻松获取API-KEY,并通过Chatbox配置进行深度学习对话,整个过程简单流畅。该工具在部署集成性、易用性及高性能计算支持方面表现出色,尤其适合本地软件部署,满足用户的实际需求。阿里云提供的详尽文档和引导也使得初次使用者能快速上手,体验极佳。
285 1
|
JSON 数据格式 Java
化繁为简的魔法:Struts 2 与 JSON 联手打造超流畅数据交换体验,让应用飞起来!
【8月更文挑战第31天】在现代 Web 开发中,JSON 成为数据交换的主流格式,以其轻量、易读和易解析的特点受到青睐。Struts 2 内置对 JSON 的支持,结合 Jackson 库可便捷实现数据传输。本文通过具体示例展示了如何在 Struts 2 中进行 JSON 数据的序列化与反序列化,并结合 AJAX 技术提升 Web 应用的响应速度和用户体验。
338 0
|
存储 JSON 数据可视化
纯Python轻松开发实时可视化仪表盘
纯Python轻松开发实时可视化仪表盘
196 0

热门文章

最新文章