| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2023 人关注过本帖
标题:时针,分针和秒针完全重合在一起的时候有几次?
只看楼主 加入收藏
gdc123
Rank: 1
等 级:新手上路
帖 子:26
专家分:7
注 册:2008-8-8
结帖率:100%
收藏
 问题点数:0 回复次数:6 
时针,分针和秒针完全重合在一起的时候有几次?
在一天的24小时之中,时钟的时针,分针和秒针完全重合在一起的时候有几次?
   请编程解答
搜索更多相关主题的帖子: 重合 秒针 时针 分针 
2010-01-05 20:54
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4947
专家分:30084
注 册:2008-10-15
收藏
得分:0 
三重循环.

计算时针\分针\秒针,每秒的角度.
然后进行比较.

不要用 相等 来比较,而做减法,小于指定值就算重合.
注意按秒针来修分针的角度,按分针的来修正时针的值.



授人于鱼,不如授人于渔
早已停用QQ了
2010-01-06 09:39
gdc123
Rank: 1
等 级:新手上路
帖 子:26
专家分:7
注 册:2008-8-8
收藏
得分:0 
版主:这样行吗?

Private Sub Command1_Click()
For z = 0 To 12
For y = 0 To 60     '分针
For x = 0 To 60     '秒针

a = 360 / 60 * x     '秒针度数

'b = 360 / 60 * y + 360 / 3600 * x      '分针度数
'c = 360 / 12 * z + 360 / 720 * y + 360 / 3600 / 12 * x      '时针度数

b = 360 / 60 * y + a / 60    '分针度数
c = 360 / 12 * z + b / 12    '时针度数

If Abs(a - b) < 0.1 Then a = b
If Abs(c - b) < 0.1 Then c = b
If a = b And c = b Then Print z, y, x

Next x
Next y
Next z
End Sub


运行结果:
 0             0             0
 11            59            60

请高手指教
2010-01-09 11:50
gdc123
Rank: 1
等 级:新手上路
帖 子:26
专家分:7
注 册:2008-8-8
收藏
得分:0 
如果把下面两句:

If Abs(a - b) < 0.1 Then a = b
If Abs(c - b) < 0.1 Then c = b

改成:

If Abs(a - b) < 2 Then a = b
If Abs(c - b) < 2 Then c = b



运行结果:

 0             0             0
 2             11            11
 3             16            16
 8             43            44
 9             48            49
 11            59            60
2010-01-09 11:55
bczgvip
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:66
帖 子:1310
专家分:5312
注 册:2009-2-26
收藏
得分:0 
答:每分钟,分钟和秒钟重叠一次;每小时,分钟和时针重叠一次。
所以,时针、分钟、秒钟在24小时里有24次重叠。这是逻辑,用算法,特别是浮点数有误差吧。
2010-01-09 14:41
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4947
专家分:30084
注 册:2008-10-15
收藏
得分:0 
我试着写了一下,

结果差不多.不过,我优化了代码.与你的结果差不多.

优化的过程就是,
角度单位使用格.每格相当于 6度来计算.

Private Sub Command1_Click()

Cls
Dim x As Long, y As Long, z As Long
Dim i As Single, j As Single, k As Single
Dim s As Long

'角度单位是格, 每格为 6 度 。 一圈是 60 格,360度
For s = 0 To 1              '0 上午,1 下午
    For x = 0 To 59 Step 5  '小时,每小时走 5 格
        For y = 0 To 59     '分,每分走 1 格
            For z = 0 To 59  '秒,每秒走1格,不计算小数秒
               
                k = z
                j = y + k / 60  '计算分钟位置
                i = x + j / 60  '计算时针位置
               
                '误差 0.1 格,相当于 0.6度
                If Abs(i - j) < 0.1 Then
                    If Abs(k - j) < 0.1 Then
                        Print 12 * s + x / 5, y, z
                    End If
                End If
            
            Next z
        Next y
    Next x
Next s

End Sub



授人于鱼,不如授人于渔
早已停用QQ了
2010-01-09 19:26
gdc123
Rank: 1
等 级:新手上路
帖 子:26
专家分:7
注 册:2008-8-8
收藏
得分:0 
谢谢版主指点。
2010-01-10 20:24
快速回复:时针,分针和秒针完全重合在一起的时候有几次?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016077 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved