时钟指针角度。【问题描述】普通时钟都有时针和分针。在任意时刻,时针和分针都有一个夹角,并且假设时针和分针都是连续移动的。现已知当前的时刻,试求出在该时刻时针和分针的夹角A(0≤A≤180)。

时钟指针角度。

【问题描述】

普通时钟都有时针和分针。在任意时刻,时针和分针都有一个夹角,并且假设时针和分针都是连续移动的。现已知当前的时刻,试求出在该时刻时针和分针的夹角A(0≤A≤180)。

注意:当分针处于0分和59分之间时,时针相对于该小时的起始位置也有一个偏移角度。

【输入形式】

输入一个24小时制的时间。格式是以英文字符冒号(:)分隔的两个整数m(0≤m≤23)和n(0≤n≤59),其中m表示时,n表示分。

【输出形式】

输出一个浮点数A,是时针和分针夹角的角度值。该浮点数保留三位小数。

【样例输入】

8:10

【样例输出】

175.000

【样例说明】

钟表指针角度的计算

1.分针走过1小格用时1分钟,走过的度数是6°,时针走过一大格用时1h,走过的度数是30°;

2.时针的速度是分钟的1/12,因此分针每走一小格即一分钟,时针走1/12*6°=0.5°;

3.在计算角度的时候,可以从整点整分开始考虑,再进行角度的加减运算,从而求出钟表实际的角度值。

例如:

8点10,可以假设时针正好在8上,度数为8*30°=240°;而实际上,分针转动,时针也是转动的,根据分针每走一分钟,时针走0.5°,可得10分的时候,时针转动了10*0.5°=5°;分针在2上,角度为10*6°=60°。因此,角度为:240°+5°-60°=185°,根据题目要求,时针和分针的夹角A(0≤A≤180)。因此8点10分的夹角为360°-185°=175°。

输出结束不换行。

#include<stdio.h>

int main()

{

    float final,fend,shid,shipianyi,shi,fen;

    scanf("%f:%f",&shi,&fen);

    if(shi>12)

    {

        shi=shi-12;

    }

    fend=(fen/60.0)*360.0;

    shid=(shi/12)*360.0;

    shipianyi=30*(fend/360.0);

    final=fend-(shid+shipianyi);

    if(final<0)

    {

        final=0-final;

    }

    if(final>180.0)

    {

        final=360.0-final;

    }

    printf("%.3f\n",final);

    return 0;

}

  • 6
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值