秒针、分针和时针的重合次数(十二小时)

秒针、分针和时针的重合次数(十二小时)?

每小时一次,共12次。秒针60步分针1步,分针60步时针1格(5步),即分针12步时针1步来算。

重合的时间应该是:1:5:5、2:10:10、3:16:16、4:21:21、5:27:27

                         6:32:32、7:38:38、8:43:43、9:49:49、10:54:54

                         11:59:59、0:0:0

验证代码如下:

//12小时内,秒针、分针和时针重合的次数
#include <stdio.h>

int main(void)
{
    int second, minute1, minute2, hour;
    int times = 0;
    second = 0;
    minute1 = 0;
    minute2 = 0;
    hour = 0;
    
    while(1)
    { 
        second = second + 1;
        if(second == 60)
        {
            second = 0;
            minute1 = minute1 + 1;
            minute2 = minute2 + 1;
        }
        if(minute1 == 60)
        {
            minute1 = 0;
        }
        if(minute2 == 12)//每12分钟时针走一下,小时也按60算;12个小时,时针一共走了60下
         {
            minute2 = 0;
            hour = hour + 1;
        }
        if(hour == 60) //小时也按60算
            hour = 0;

        if(hour == minute1 && minute1 == second )
        {
            times = times +1;
            printf("%d : %d : %d\n",hour/5,minute1,second);
            if(second == 0)
                break;
        }
    }
    printf("Times = %d\n",times);
    return 0;
}

运行结果如下:

当然这道题的设计也和表的设计有关,例如:分针1格是1分钟,即60秒,如果分针是在秒针走完60秒时走1格,还是秒针走1秒,分针就走1/60格,

如果是后者,则重合时间只有一次,即12:00:00

posted @ 2013-06-05 15:12  独墅一枝花  阅读(1844)  评论(0编辑  收藏  举报