c语言计算时钟夹角问题

计算时钟的夹角背景:钟面上的时针和分针之间的夹角总是在0度~359度之间。举例来说,在十二点的时候两针之间的夹角为0度,而在六点的时候夹角为180度,在三点的时候为90度... 计算时钟的夹角背景:
钟面上的时针和分针之间的夹角总是在 0 度~ 359 度之间。举例来说,在十二点的时候两针之间的夹角为 0 度,而在六点的时候夹角为 180 度,在三点的时候为 90 度。本题要解决的是计算 12:00 到 11:59 之间任意一个时间的夹角。
输入:
每组测试数据包含两个数字:第一个数字代表小时 ( 大于 0 小于等于 12) ,第二个数字代表分 ( 在区间 [0, 59] 上 ) 。
输出:
对应每组测试数据,用常用格式显示时间以及这个时候时针和分针间的最小夹角,精确到小数点后一位。输出格式如下所示。
输入:12 30
输出:At 12:30 the angle is 165.0 degrees.
友情提示:以表中心到12点的连线为基准,分针每走1分钟是6度,时针与基准的夹角每个小时也是30度,从整点开始,每过1分钟时针再增加0.5度。
我自己想到了一些,因为是刚开始自学C语言的,所以有很多地方不明白...想问一下有没有人能写出这个程序...要求带注释分部(因为有的我看不懂..没注释就更看不懂了....)
展开
 我来答
听不清啊
高粉答主

推荐于2017-08-14 · 说的都是干货,快来关注
知道顶级答主
回答量:7.8万
采纳率:89%
帮助的人:1.9亿
展开全部

程序可以计算0:00~23:59之间的任意时刻两针之间的夹角。

#include <stdio.h>

#include <math.h>

int main()

{int m,h;

float a,a1,a2;

scanf("%d%d",&h,&m);

a1=h%12*30+0.5*m; //时针每走1小时是30度,1分钟走0.5度

a2=6*m; //分针每走1分钟是6度

a=fabs(a1-a2); //夹角为二者之差的绝对值 

printf("At %d:%d the angle is %.1f degrees.\n",h,m,a);

return 0;

}

匿名用户
2013-08-18
展开全部
#include <stdio.h>
void main()
{
int a,b;
float c,d,e;//上面不用说了吧,既然有小数点,就一定要用浮点数
scanf("%d%d",&a,&b);
c=(a%12+(float)b/60)*30;//a+b/60是时针实际走过的小时数,乘上每小时占得30°,当12点多的时候结果可能大于360°,%代表取余数
d=(float)b/60*360.0;//分针走的时机小时数b/60,乘上每小时占得360°,算式里不加float的话除法会当整型去余数
if(c<d)//分针在时针之前时d-c
e=d-c;
else//其他的时候c-d
e=c-d;
printf("At %d:%d the angle is %.1f degrees.",a,b,e);//这里%.1f里面的.1代表输出1位小数
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
植语丝0Gg9083
2017-07-22 · TA获得超过1826个赞
知道小有建树答主
回答量:925
采纳率:0%
帮助的人:431万
展开全部

解决夹角问题的方法:

#include <stdio.h>
void main()
{
int a,b;
float c,d,e;//
scanf("%d%d",&a,&b);
c=(a%12+(float)b/60)*30;//a+b/60是时针实际走过的小时数,乘上每小时占得30°,当12点多的时候结果可能大于360°,%代表取余数
d=(float)b/60*360.0;//分针走的时机小时数b/60,乘上每小时占得360°
if(c<d)//分针在时针之前时d-c
e=d-c;
else//其他的时候c-d
e=c-d;
printf("At %d:%d the angle is %.1f degrees.",a,b,e);//
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
183*****662
2015-12-10
知道答主
回答量:1
采纳率:0%
帮助的人:1167
展开全部
就一个最简单的公式,你一看就懂30m-5.5n的绝对值.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式