1. 목적
  - 다중 for 문을 이해한다.

2. 문제 (점수 : 10 점)
  - 중첩된 for 문을 이용하여 구구단의 일부를 출력하라.
  - 출력 화면

4 * 5 = 20      5 * 5 = 25      6 * 5 = 30      7 * 5 = 35
4 * 6 = 24      5 * 6 = 30      6 * 6 = 36      7 * 6 = 42
4 * 7 = 28      5 * 7 = 35      6 * 7 = 42      7 * 7 = 49
4 * 8 = 32      5 * 8 = 40      6 * 8 = 48      7 * 8 = 56
4 * 9 = 36      5 * 9 = 45      6 * 9 = 54      7 * 9 = 63
Press any key to continue


3. 이해
  - 다중 for 문을 정확히 쓸줄 아는가?

4. 코드

#include <stdio.h>

int main()
{
 int i, j;
 i = j = 0;

 for(i = 5; i <10; i++)
 {
  for(j = 4; j < 8; j++)
  {
   printf("%d * %d = %d\t", j, i, j*i);
  }

  printf("\n");

 }

 return 0;
}


5. 해설
  - 이전에 있던 미니 구구단과 크게 다를게 없습니다.
  - for 조건이 j < 8 일때에는 j 가 8일때 까지만 작동하고 9 부터는 조건이 안 맞기 때문에 for 문을 넘어가 다음 for 문을 적용 받습니다.
  - for 문을 실행할때 가장 안 쪽의 for 문에서 시작 하며 인수를 차례차례 적용 받습니다. 실행단계를  생각하면 이해하기가 쉽습니다.

6. 참고

  - http://www.winapi.co.kr/clec/cpp1/4-2-4.htm : 다중 루프
  - 유사 문제
Posted by 카켈