求大家解答一下这个c语言问题

假设某路口一天的24小时平均交通流量表如下,若某连续3个小时的流量为一天内的最大值,则认为是高峰小时时刻,求该路口的高峰小时时刻是几点到几点?要求用C语言编程实现
time avg_flow
0 22.96
1 12.93
2 8.79
3 6.36
4 7.11
5 9.32
6 18.79
7 49.96
8 81.71
9 91.61
10 90.79
11 82.61
12 74.86
13 64.71
14 66.64
15 78.64
16 77.21
17 85.57
18 73.00
19 46.43
20 39.25
21 32.57
22 25.75
23 15.93

用数组保存数据,统计相邻3个小时内的流量,找出最大值即可。
代码如下:

#include <stdio.h>
int main()
{
    float a[24],max,tmp;
    int i,index=0;
    //输入数据
    for (i=0;i<24;i++)
        scanf("%f",&a[i]);
    max = a[0]+a[1]+a[2];
    for(i=1;i<21;i++)
    {
        tmp = a[i]+a[i+1]+a[i+2];
        if(tmp > max)
        {
            max = tmp;
            index = i;
        }
    }
    printf("%d-%d",index,index+2);
    return 0;
}

如果直接写好数组的话,代码如下:

#include <stdio.h>
int main()
{
    float a[24],max,tmp;
    int i,index=0;

    a[0]= 22.96;
    a[1]= 12.93;
    a[2]= 8.79;
    a[3]= 6.36;
    a[4]= 7.11;
    a[5]= 9.32;
    a[6]= 18.79;
    a[7]= 49.96;
    a[8]= 81.71;
    a[9]= 91.61;
    a[10]= 90.79;
    a[11]= 82.61;
    a[12]= 74.86;
    a[13]= 64.71;
    a[14]= 66.64;
    a[15]= 78.64;
    a[16]= 77.21;
    a[17]= 85.57;
    a[18]= 73.00;
    a[19]= 46.43;
    a[20]= 39.25;
    a[21]= 32.57;
    a[22]= 25.75;
    a[23]= 15.93;

    //输入数据,只输入流量即可
    /*for (i=0;i<24;i++)
        scanf("%f",&a[i]);*/
    max = a[0]+a[1]+a[2];
    for(i=1;i<21;i++)
    {
        tmp = a[i]+a[i+1]+a[i+2];
        if(tmp > max)
        {
            max = tmp;
            index = i;
        }
    }
    printf("%d-%d",index,index+2);
    return 0;
}