언어/C

[코딩자율학습] 5일차 이중 반복문

홍시_코딩기록 2024. 3. 8. 23:47

 

 

이중 반복문 실행결과

int main(void) {
	for (int i = 1; i <= 3; i++) {
		printf("첫번쨰 반복문 : %d\\n", i);
		for (int j = 1; j <= 5; j++) {
			printf("    두번째 반복문: %d\\n", j);
		}
	}
	return 0;
}

 

 

 

 

구구단 출력하기

int main(void) {
	for (int i = 2; i <= 9; i++) {
		for (int j = 1; j <= 9; j++) {
			printf("%d X %d = %d\\n",i,j,i * j);
		}
	}
	return 0;
}
  • 2 x 1: “ “ 안에 i와 j를 어떻게 출력해야하는지 고민햇는에 정수를 출력하려면 그대로 %d를 쓰면 되는구나

 

 

 

 

 

별트리 출력

int main(void) {
	for (int i = 0; i < 5; i++) {
		for (int j = 0; j <= i; j++) {
			printf("*");
		}
		printf("\\n");
	}
	return 0;
}
  • 문자열 출력이라 int가 아니라 char를 쓰는 줄 알았다… j는 숫자로 정해놓고…

 

 

 

 

별트리 오른쪽 정렬

// 내 답안

int main(void) {
	for (int i = 0; i < 5; i++) {
		for (int h = 4; h > i; h--) {
			printf("S");
		}
		for (int j = 0; j <= i; j++) {
			printf("*");
		}
		printf("\\n");
	}
	return 0;
}
// 교재 답안

for (int h = i; h < 4 ; h++) {
	printf("S");
}
  • 나는 s가 4에서 하나씩 줄어든다는 생각으로 h—를 사용했는데 교재에선 “S”를 i로 설정하고 같이 증가하게 하였다.

 

 

10단 케이크

int main(void) {
	int floor;
	printf("몇층으로 쌓을거임?");
	scanf_s("%d", &floor);

	for (int i = 0; i < floor; i++) {
		for (int k = i; k < floor - 1; k++) {
			printf(" ");
		}
		for (int j = 0; j < i * 2 - 1; j++) {
			printf("o");
		}
		printf("\\n");
	}
	return 0;
}
  • 반복문을 머리로 하나씩 계산하려면 정신없다
  • 마음으로 받아들이면 어느샌가 되어있음.