본문 바로가기
카테고리 없음

[c언어] 별 찍기(한 줄에 5개씩 5줄 인쇄)

by Hyper하이퍼 2023. 1. 4.
반응형

앞에서 2중 for문을 사용하는 이유와 사용법에 대해서 알아보았다.

 

사용 이유에 대해서는 실생활 예에서 충분히 공감하셨을 것으로 생각한다.

 

그렇다면 이번 글에서는 이유를 모르면 왜 하는지 모를 법한 ..

 

2중 for문을 활용한 별 찍기 문제를 다뤄보려한다. 

 

[출력 결과]

 

위와같이 ' * ' 모양을 한 줄에 5개씩 5줄을 출력하려면 어떻게 해야할까?

반응형

 

문제와 변수 i, j를 연결해보면 다음과 같다.

 

한 줄에 5개씩 ==> i가 5번 반복

5줄을             ==> i번째 줄에서 j가 5번 반복

 

그리고 코드는 아래와 같다.

 

#include <stdio.h>

int main(void) 
{
	// 별을 한 줄에 5개 씩 5줄 인쇄하기.

	int i, j;

	for (i = 0; i < 5; i++) // 1~5번째 줄을 뜻함(5회 반복)
	{
		for (j = 0; j < 5; j++) // i번째 줄에서 5회 반복을 뜻함.
		{
			printf("*");
		}
		printf("\n");
	}
}

 

이제 2중 for문의 사용법에 대해서 살짝 감이 오실 듯싶다.

 

그렇다면 한 줄에 4개씩 5줄 인쇄는 어떻게 할까?

 

#include <stdio.h>

int main(void) 
{
	// 별을 한 줄에 4개 씩 5줄 인쇄하기.

	int i, j;

	for (i = 0; i < 5; i++) 
	{
		for (j = 0; j < 4; j++) // i번째 줄에서 4회 반복
		{
			printf("*");
		}
		printf("\n");
	}
}

 

 

이번엔 한 줄에 4개씩 3줄만 출력하려면?

 

 

#include <stdio.h>

int main(void) 
{
	// 별을 한 줄에 4개 씩 3줄 인쇄하기.

	int i, j;

	for (i = 0; i < 3; i++) // 1~3 번째 줄을 뜻함(3회 반복)
	{
		for (j = 0; j < 4; j++)
		{
			printf("*");
		}
		printf("\n");
	}
}

 

 

이번 글의 간단한 예제를 통해 2중 for문의 사용법에 대해서 확실히 알아보았다.

 

앞선 글에서도 언급했지만 2중 for문의 핵심은 i와 j가 담당하는 것을 확실히 정의하는 것이다.

 

' * '을 출력하는 것에만 집중하지 말고, 변수가 담당하는게 무엇인지 확실히 인지 후 코딩을 하시길 바랍니다.

 

 

반응형