티스토리 뷰
728x90
SMALL
알고리즘 문제를 요즘 안 풀어서 그런지 몰라도 달팽이 배열을 풀지 못했다.
구글링해서 코드를 한 번 보고 이해해서 다시 풀었다.
#include <stdio.h>
int main(void)
{
int len; //입력받는 배열의 길이
int num; //배열의 요소(1,2,3~~)
int arr[50][50]; //입력할 배열
int i, j;
int x, y; //배열의 행,열
int t; //가로,세로가 각각 커졌다가 작아지는 걸 t에 부호를 붙여서 이용
int jmax; //열의 최대값
printf("달팽이 배열의 길이를 입력해라");
scanf_s("%d", &len);
num = 1;
jmax = len;
x = 0, y = -1;
t = 1;
while (0 < jmax) {
for (i = 0; i < jmax; i++) {
y = y + t;
arr[x][y] = num++;
}
jmax--;
for (i = 0; i < jmax; i++) {
x = x + t;
arr[x][y] = num++;
}
t = -t;
}
for (i = 0; i < len; i++) {
for (j = 0; j < len; j++) {
printf("%5d", arr[i][j]);
}
printf("\n");
}
return 0;
}
728x90
LIST
'책 > 윤성우 열혈 C 프로그래밍' 카테고리의 다른 글
문자와 문자열 관련 함수 (0) | 2020.09.19 |
---|---|
c언어 난수생성 (0) | 2020.09.19 |
포인터2 (0) | 2020.09.16 |
포인터1 (0) | 2020.09.14 |
유클리드 호제법(최대공약수, 최소공배수) (0) | 2020.09.13 |
댓글
공지사항