杭电ACM1006时钟指针角度问题

这是一个关于杭电ACM1006题目的程序,通过计算时钟指针的角度来判断是否满足特定条件。程序首先定义了相关变量,然后通过`get_next()`函数计算时针、分针、秒针之间的角度,并更新状态。在`main()`函数中,程序读取输入角度并不断模拟时钟状态,统计满足条件的时间占比。
摘要由CSDN通过智能技术生成

这是别人的代码,没研究透,先保存了

#include <stdio.h>
#include <stdlib.h>

double D;
int H,M;
double S, Total;
int signal;
double minimum;
double maximum;

void get_next()
{
 double HM,HS,MS; // HM是时针和分针的夹角, HS是时针和秒针的夹角, MS是分针和秒针的夹角
 double HL,ML,SL; // HL是时针的位置, ML是分针的位置, SL是秒针的位置
 double t1,t2,t3; // 临时值
 SL = 6*S; // 秒针的位置是6度乘以当前的秒数
 ML = 6*(M+S/60); // 分针的位置是6度乘以当前的分数 + 当前的秒数除以10
 HL = 30*(H+M/60.0+S/3600); // 时针的位置是30度乘以当前的小时数 + 分钟数除以2 + 秒数除以120
 HM = ML - HL; // 以分针在前, 算出分针和时针的夹角
 HS = SL - HL; // 以秒针在前, 算出秒针和时针的夹角
 MS = SL - ML; // 以秒针在前, 算出秒针和分针的夹角
 while(HM+1e-6>=D) HM -= 360; // 如果时针和分针的夹角 >= D, 那么减360
 while(HM+

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值