[프로그래밍 입문] 문제 모음 3

출처 : 프로그래머의 길 by 조상

if문 사용
i, j, k만 사용
2차원 배열 사용

  • 샘플 코드 (for문)
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char** argv) {
	int n = atoi(argv[1]);
	int a[n][n];
	
	for (int i = 0; i < n; i++) {
	    for (int j = 0; j < n; j++) {
	        a[i][j] = 0;
	    }
	}

	for (int i = 0; i < n; i++) {
		for (int j = 0; j < n; j++) {
			printf("%3d", a[i][j]);
		}
		printf("\n");
	}

	return 0;
}
  • 샘플 코드 (while문)
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char** argv) {
	int n = atoi(argv[1]);
	int a[n][n];
	
	int i = 0;
	while (i < n) {
	    int j = 0;
	    while (j < n) {
	        a[i][j] = 0;
	        j++;
	    }
	    i++;
	}

    i = 0;
	while (i < n) {
	    int j = 0;
	    while (j < n) {
	        printf("%3d", a[i][j]);
	        j++;
	    }
	    printf("\n");
	    i++;
	}

	return 0;
}

3-1)

  1  2  3  4  5
  6  7  8  9 10
 11 12 13 14 15
 16 17 18 19 20
 21 22 23 24 25

3-2)

  1  6 11 16 21
  2  7 12 17 22
  3  8 13 18 23
  4  9 14 19 24
  5 10 15 20 25

3-3)

 21 22 23 24 25
 16 17 18 19 20
 11 12 13 14 15
  6  7  8  9 10
  1  2  3  4  5

3-4)

  1  2  3  4  5
 10  9  8  7  6
 11 12 13 14 15
 20 19 18 17 16
 21 22 23 24 25

3-5) n = 7

 9 9 9 9 9 9 9
 9 9 0 0 0 9 9
 9 0 9 0 9 0 9
 9 0 0 9 0 0 9
 9 0 9 0 9 0 9
 9 9 0 0 0 9 9
 9 9 9 9 9 9 9

3-6) i ? j // ?는 사칙연산 중 하나

 1 0 1 0 1
 0 1 0 1 0
 1 0 1 0 1
 0 1 0 1 0
 1 0 1 0 1

3-7) n = 6 // 3-6번 응용

 1 1 0 0 1 1
 1 1 0 0 1 1
 0 0 1 1 0 0
 0 0 1 1 0 0
 1 1 0 0 1 1
 1 1 0 0 1 1

3-8) n = 6 // 3-6번 응용

 1 1 1 0 0 0
 1 1 1 0 0 0
 1 1 1 0 0 0
 0 0 0 1 1 1
 0 0 0 1 1 1
 0 0 0 1 1 1

3-9)

  1  2  3  4  5
 16  0  0  0  6
 15  0  0  0  7
 14  0  0  0  8
 13 12 11 10  9 

3-10)

  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

3-11) n = 홀수

 3 3 3 3 3
 3 2 2 2 3
 3 2 1 2 3
 3 2 2 2 3
 3 3 3 3 3

3-12)

  1  3  6 10 15
  2  5  9 14 19
  4  8 13 18 22
  7 12 17 21 24
 11 16 20 23 25

좋은 웹페이지 즐겨찾기