반응형
// 문제2
void Print2(int(*arr)[10], int num)
{
for (int i = 0; i < num; i++)
{
for (int j = 0; j < num; j++)
{
printf("%2d ", arr[i][j]);
}
printf("\n");
}
}
void SnailSort(int(*arr)[10])
{
int num = 0;
int count = 1;
int side = 0;
int colR = 0;
int rowR = 0;
int colL = 0;
int rowL = 0;
printf("정수 입력 : ");
scanf("%d", &num);
while (side < num)
{
if (side % 2 == 0)
{
for (int i = rowR; i < num- rowR; i++)
{
arr[rowR][i] = count++;
}
colR++;
side++;
for (int i = colR; i < num- colR +1; i++)
{
arr[i][num - colR] = count++;
}
rowR++;
}
else if (side % 2 != 0)
{
rowL++;
for (int i = num - rowL-1; i >= rowL -1; i--)
{
arr[num - rowL][i] = count++;
}
colL++;
side++;
for (int i = num - colL-1; i >= colL; i--)
{
arr[i][colL -1] = count++;
}
}
}
Print2(arr, num);
}
void Practice2()
{
int arr[10][10] = { 0 };
SnailSort(arr);
}
반응형
반응형
'연습문제' 카테고리의 다른 글
| C 복소수 구하기 (0) | 2023.05.24 |
|---|---|
| C언어 주사위 굴리기 (0) | 2023.05.22 |
| C언어 90도씩 회전하기 (0) | 2023.05.22 |
| C언어 tictactoe (0) | 2023.05.19 |
| C 포인터2 문제 (0) | 2023.05.18 |