#include <stdio.h>

/* 7時〜21時の間の１時間おき */
void func1(void) {
    int i;

    for (i=7; i<=21; i++) {
        printf("%2d:00:00\n", i);
    }
}

/* 7時〜21時30分の間の30分おき */
void func2(void) {
    int i;

    for (i=7; i<=21; i++) {
        printf("%2d:00:00\n", i);
        printf("%2d:30:00\n", i);
    }
}

/* 30分おきに14回 */
void func3(void) {
    int i;

    for (i=7; i<7+14/2; i++) {
        printf("%2d:00:00\n", i);
        printf("%2d:30:00\n", i);
    }
}

/* 30分おきに15回 */
void func4(void) {
    int i, h=7, m=0, s=0;

    for (i=0; i<15; i++) {
        printf("%2d:%02d:%02d\n", h, m, s);
        m = m + 30;
        if (m == 60) {
            m = 0;
            h = h + 1;
        }
    }
}

/* 35分おきに15回 */
void func5(void) {
    int i, h=7, m=0, s=0;

    for (i=0; i<15; i++) {
        printf("%2d:%02d:%02d\n", h, m, s);
        m = m + 35;
        if (m >= 60) {  /* 不等号 */
            m = m - 60; /* 引き算 */
            h = h + 1;
        }
    }
}

/* 65分おきに15回 */
void func6(void) {
    int i, h=7, m=0, s=0;

    for (i=0; i<15; i++) {
        printf("%2d:%02d:%02d\n", h, m, s);
        m = m + 65;
        while (m >= 60) { /* if を while に */
            m = m - 60;
            h = h + 1;
        }
    }
}

/* 65分おきに20回 */
void func7(void) {
    int i, h=7, m=0, s=0;

    for (i=0; i<20; i++) {
        printf("%2d:%02d:%02d\n", h, m, s);
        m = m + 65;
        while (m >= 60) {
            m = m - 60;
            h = h + 1;
            while (h >= 24) {  /* 時間の繰り上がり */
                h -= 24;
            }
        }
    }
}

int main() {
    printf("func1()\n");
    func1();
    printf("func2()\n");
    func2();
    printf("func3()\n");
    func3();
    printf("func4()\n");
    func4();
    printf("func5()\n");
    func5();
    printf("func6()\n");
    func6();
    printf("func7()\n");
    func7();
    return 0;
}
