기초프로그래밍 과제인데 정수형 배열 pascal[10][10]을 선언해서 nCr = n! ( r! * (n - r)!)에서 함수 !(콤비네이션)를 사용하지 않고 10행까지 [파스칼의 삼각형]을 저장해서 출력해야함.

그런데 결과가 4행부터 이상하게 나옴.

-----------------------------------

#include <stdio.h>

int main()
{
 int pascal[10][10] = { 0 };
 int i, j; // pascal[i][j]
 int n, r; // nCr = n! / (r! * (n - r)!)
 int q, w, e; // n! = n*(n-q)...*2*1
 int a, b, c; // n!, r!, (n-r)!
 for (i = 0; i <= 9; i++)
 {
  for (j = 0; j <= 9; j++)
  {
   if (j == 0 || i == j)
   {
    pascal[i][j] = 1;
   }
   else if (j > i)
   {
    pascal[i][j] = 0;
   }
   else
   {
    for (n = 2; n <= i; n++)
    {
     for (r = 1; r < n; r++)
     {
      a = n; b = r; c = n - r;
      for (q = 1; (a-q) >= 2; q++)
      {
       a = a * (a - q);
      }
      for (w = 1; (b - w) >= 2; w++)
      {
       b = b * (b - w);
      }
      for (e = 1; (c - e) >= 2; e++)
      {
       c = c * (c - e);
      }
      pascal[n][r] = a / (b * c);
     }
    }
   }
  }
 }
 for (i = 0; i <= 9; i++)
 {
  for (j = 0; j <= 9; j++)
  {
   printf("%d ", pascal[i][j]);
  }
  printf("\n");
 }

 return 0;
}

-----------------------------------


4행부터 왜이럼???