C 달팽이 배열
문제
다음처럼 출력되는 프로그램을 작성하시오.
실행의 예
수 입력: 5
1 2 3 4 5
16 17 18 19 6
15 24 25 20 7
14 23 22 21 8
13 12 11 10 9
해결
코드
#include <stdio.h>
int main(void)
{
int arr[10][10]={};
int i, j;
int p=-1;
int k=0;
int input=0;
int check=0;
int count=0;
int save=0;
printf("수 입력: ");
scanf("%d", &input);
save = input;
while(input>0)
{
if((check % 2) == 0)
{
for(i=0;i<input;i++)
{
p++;
arr[k][p] = (++count);
}
for(j=0;j<input-1;j++)
{
k++;
arr[k][p] = (++count);
}
check++;
}
else
{
for(i=0;i<input;i++)
{
p--;
arr[k][p] = (++count);
}
for(j=0;j<input-1;j++)
{
k--;
arr[k][p] = (++count);
}
check++;
}
input--;
}
for(i=0;i<save;i++)
{
for(j=0;j<save;j++)
{
printf("%3d ", arr[i][j]);
}
printf("\n");
}
return 0;
}
댓글남기기