C lang:Array_Multidimensional arrays

#include
#include
#define YEARS 5
#define MONTHS 12
void color(short x);

int main(void)
{
//definition array
    const float rain[YEARS][MONTHS] =
    {
        {1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 0.1, 0.2, 0.3},
        {1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 0.1, 0.2, 0.3},
        {1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 0.1, 0.2, 0.3},
        {1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 0.1, 0.2, 0.3},
        {1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 0.1, 0.2, 0.3}
    };
    const char mon[12][10] = {"January" , "February"  , "March" ,  "April" ,  "May"  , "June"  , "July" ,  "August"  , "September" , "October" ,  "November" , "December"};
    int year, month;
    int i,w;
    float subtot, total, subtotv;
    color(5);
    printf("    Year    Rainfall(inches)\n");
    color(4);
    for (year = 0, total = 0; year < YEARS; year++)                     // years cyclic out layer
    {
        for (month = 0, subtot = 0; month < MONTHS; month++)            // month cyclic in layer
        {
            subtot = subtot + rain[year][month];                        // per month count rain
        }
        total = total + subtot;                                         // five years count rain
        printf("    %d%11.2f\n",2016+year,total);
    }
    color(5);

    w =0;
    for(i = 0; i < MONTHS; i++)
        printf("%13s",mon[i]);
    printf("\n");
    color(4);
    for (month = 0; month < MONTHS; month++)                            // month cyclic out layer
    {
        for (year = 0, subtotv = 0; year < YEARS; year++)               // years cyclic in layer
        {
            subtotv = subtotv + rain[year][month];                      // sth month years count
        }
//            printf("%.1f\n",subtotv);
            subtotv = subtotv / YEARS;                                  // sth month years average
            printf("%13.2f",subtotv);
//            printf("%.1f\n---------\n",subtotv);

    }
//    printf("%.1f",rain[1][0]);
//    printf("%.1f\n%.1f\n%.1f\n",subtot, total, subtotv);
    color(16);
    printf("\n");
        printf("\n");    printf("\n");    printf("\n");
    system("pause");
    return 0;
}

void color(short x)
{
    if(x >= 0 && x <= 15)
        SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), x);
    else
        SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 7);
}

你可能感兴趣的:(C lang:Array_Multidimensional arrays)