#include <stdio.h>
int E(int x, int y);                     // E 함수 (이 함수를 통해, 배열 정리)
int main()
{
 int a, b;                            // a는 세로줄 b는 가로줄이 됨.
 for (a = 0; a < 4; a++)
 {
  for (b = 0; b < 6; b++)
  {
   printf("]", E(b,a));       // ]에서 5는 칸을 구분하기 위한 표시
  }
  printf("\n");                    // 한 가로줄이 완성되었기에 한 줄을 띄움.
 }
 return 0;
}
int E(int x, int y)
{
 static A[6] = { 90, 78, 77, 98, 98 };  // A[5]까지의 값은 존재, A[6] 값은 모든 A 배열의 합이 됨.
 static B[6] = { 80, 45, 67, 88, 57 };  // B[5]까지의 값은 존재, B[6] 값은 모든 B 배열의 합이 됨.
 static C[6] = { 88, 99, 65, 55, 74 };  // C[5]까지의 값은 존재, C[6] 값은 모든 C 배열의 합이 됨.
 static D[6];                                // D[6] 값 모두 존재하지 않음.

 switch (y)
 {
 case 0:                               // 첫 번째 가로줄의 값.
  if (x < 5)
   A[5] = A[5] + A[x];
  return A[x];
 case 1:                               // 두 번째 가로줄의 값.
  if (x < 5)
   B[5] = B[5] + B[x];
  return B[x];
 case 2:                               // 세 번째 가로줄의 값.
  if (x < 5)
   C[5] = C[5] + C[x];
  return C[x];
 case 3:                               // 네 번째 가로줄의 값.
  if (x < 5)
  {
   D[x] = A[x] + B[x] + C[x];
   return D[x];
  }
  else
   D[5] = A[5] + B[5] + C[5];
      return D[x];
 }
}

답 안봣으면 오늘 하루종일 못풀뻔