반응형
앞에서 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가 담당하는 것을 확실히 정의하는 것이다.
' * '을 출력하는 것에만 집중하지 말고, 변수가 담당하는게 무엇인지 확실히 인지 후 코딩을 하시길 바랍니다.
반응형