728x90
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i,j,n,a[10][10],k=1,p,m;
do
{
printf("input = ");
scanf("%d",&n);
if(n==0) return 0;
}while(n>=10);
m=n;
if(n%2==1)
{
i=0,j=-1,k=1;
while(1)
{
for(p=0;p<n;p++)
{
j++;a[i][j]=k++;
}n--; if(n<1) break;
for(p=0;p<n;p++)
{
i++;a[i][j]=k++;
}
for(p=0;p<n;p++)
{
j--;a[i][j]=k++;
}n--; if(n<1) break;
for(p=0;p<n;p++)
{
i--;a[i][j]=k++;
}
}
}
else
{
i=-1,j=0,k=1;
while(1)
{
for(p=0;p<n;p++)
{
i++;a[i][j]=k++;
}n--; if(n<1) break;
for(p=0;p<n;p++)
{
j++;a[i][j]=k++;
}
for(p=0;p<n;p++)
{
i--;a[i][j]=k++;
}n--; if(n<1) break;
for(p=0;p<n;p++)
{
j--;a[i][j]=k++;
}
}
}
for(i=0;i<m;i++)
{
for(j=0;j<m;j++)
{
printf("%3d",a[i][j]);
}
printf("\n");
}
return 0;
}
반응형
'전공 공부 > C' 카테고리의 다른 글
숫자 맞추기 (0) | 2020.12.27 |
---|---|
반복되는 수 (0) | 2020.12.27 |
숫자 찍기(v순서) (0) | 2020.12.27 |
파스칼 (0) | 2020.12.27 |
숫자 찍기(ㄹ순서) (0) | 2020.12.27 |