Page 85 - Do it! 자료구조와 함께 배우는 알고리즘(C 언어, 3쇄)
P. 85

4행 3열의 2차원 배열을 5개 모아 다시 배열을 만들면 3차원 배열이 됩니다. 3차원 배열 c의

                        선언은 다음과 같습니다.


                           int c[5][4][3];    /* c는 3차원 배열 */



                        배열 c의 자료형은 int[5][4][3]형입니다. 첫 번째 구성 요소는 c[0][0][0]이고, 마지막 구성
                        요소는 c[4][3][2]입니다.



                        한 해의 지난 날 수를 계산하는 프로그램

                        년, 월, 일의 3개의 값이 주어지면 이를 이용해 해당하는 연도의 지난 날 수를 구하는 프로그

                        램을 작성해 보겠습니다.


                          실습 2-12                                               •완성 파일 chap02/dayofyear.c
                         01  /* 한 해의 지난 날 수를 구합니다. */
                                                                                  실행 결과
                         02  #include <stdio.h>
                                                                         년 : 2017
                         03                                              월 : 4
                         04  /*- 각 달의 날 수 -*/                            일 : 15
                         05  int mdays[][12] = {                         2017년의 105일째입니다.
                         06    {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31},  다시 할까요?(1 … 예/0 … 아니오) : 0
                         07    {31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}
                         08  };
                         09
                         10  /*--- year년이 윤년인가? ---*/
                         11  int isleap(int year)
                         12  {
                         13    return year % 4 == 0 && year % 100 != 0 || year % 400 == 0;
                         14  }
                         15
                         16  /*--- y년 m월 d일의 그 해 지난 날 수를 구합니다. ---*/
                         17  int dayofyear(int y, int m, int d)
                         18  {
                         19    int i;
                         20    int days = d;    /* 날 수 */
                         21    for(i = 1; i < m; i++)
                         22      days += mdays[isleap(y)][i - 1];
                         23    return days;
                         24  }




                                                                                      02• 기본 자료구조  85
   80   81   82   83   84   85   86   87   88   89   90