#include <stdio.h>
#define N 15

void magic(int [N][N],int);
void main()
{
 int table[N][N],n,i,j,sum;
 char control;
 while(1)
 {
   do
   {
    printf(\"?\\n\");
    scanf(\"%d\",&n);
    fflush(stdin);
    if(n%2 == 0)
    {
  printf(\"Enter the erroe\\n\"); // 짝수 입력시 에러 출력 후 종료
  return;
    }
   }while(n & 2 == 0 || n<3 || n>21);
   magic(table,n);
   printf(\"\\n\\n\\t[%d * %d magic square]\\n\\n\\t\",n,n);

   for(i = 1 ; i <= n ; i++)
   {
    for(j = 1 ; j <= n ; j++)
  printf(\"%5d\", table[i][j]);
    printf(\"\\n\\t\");
   }
   printf(\"\\n[Checking magic square]\\n\\n\");


   for(i=1;i<=n;i++)
 {
  sum=0;
  printf(\"%d row: \",i);                         //row
  for(j=1;j<n;j++)
  {
  printf(\"%d +\",table[i][j]);
  sum += table[i][j];
  }
  printf(\"%d = %d\\n\",table[i][j],sum);
  }


  for(i=1;i<=n;i++)
 {
 sum=0;
 printf(\"%d col: \",i);      //col
 for(j=1;j<n;j++)
 {
 printf(\"%d +\",table[j][i]);
 sum += table[j][i];
 }
 printf(\"%d = %d\\n\",table[j][i],sum);
 }

 

    printf(\"continue y or n : \");
    scanf(\"%c\", &control);
   
  
    if(control == \'y\')
  continue;
    else if(control == \'n\')
  break;
    else  // y or n가 아니면 다시 선택
  printf(\"잘못 선택 했습니다\\n\");
  

   for(i=1;j<=n;j++)
   if(control == \'y\') // y일때 다시 시작
    continue;
   else if(control == \'n\') // n이면 종료
    break;
 }
 }


 void magic(int array[N][N],int n){
 int i,j,row,column;
 for(i = 1 ; i <= n ; i++)
   for(j = 1 ; j <= n ; j++)
    array[i][j]=0;
   row=1;
   column=n/2+1;
   for(i = 1 ; i <= n * n ; i++)
   {
    array[row][column]=i;
    if(row==1)
  if (column==n) row++;
  else{
   row=n;
   column++;
  }
  else if(column==n)
  {
   row--;
   column=1;
  }
  else{
   row--;
   column++;
   if(array[row][column] !=0)
   {
    row+=2;
    column--;
   }
  }
   }

 }



여기서 실행시키면
마방진 검산에서 대각선 Ldiag,Rdiag 추가해야하는데
어떻게 해야할지 감이 안잡혀요 ㅠㅠ 도와주세용