Computer >> 컴퓨터 >  >> 프로그래밍 >> C 프로그래밍

중첩 for 루프를 활용해 1부터 9까지의 네제곱 값을 출력하는 C 프로그램

중첩 루프(Nested Loop)란?

중첩 루프는 하나의 루프 안에 또 다른 루프가 포함된 구조를 말합니다. 바깥쪽 루프가 한 번 실행될 때마다 안쪽 루프는 자신의 모든 반복 범위를 전부 수행하게 됩니다.

중첩 for 루프의 기본적인 형태는 다음과 같습니다.

for (초기화; 조건; 연산){
    for (초기화; 조건; 연산){
        문장;
    }
    문장;
}

위 구조에서 안쪽 루프는 바깥쪽 루프가 한 번 반복될 때마다 전체 반복 횟수만큼 실행됩니다.

예제 코드

다음은 중첩 for 루프를 사용하여 1부터 9까지 숫자의 1승부터 4승(네제곱)까지의 거듭제곱표를 출력하는 C 프로그램입니다.

#include <stdio.h>
void main(){
    int i, j, k, temp, I=1;
    printf("I\tI^2\tI^3\tI^4 \n");
    printf("--------------------------------\n");
    for ( i = 1; i < 10; i ++) /* 바깥쪽 루프 */{
        for (j = 1; j < 5; j ++) /* 첫 번째 중첩 단계 */{
            temp = 1;
            for(k = 0; k < j; k ++)
                temp = temp * I;
            printf ("%d\t", temp);
        }
        printf ("\n");
        I++;
    }
}

코드 동작 원리

  • 바깥쪽 루프(i): 1부터 9까지의 숫자를 차례대로 처리하며, 각 행을 담당합니다.
  • 중간 루프(j): 지수를 의미하며, j가 1일 때는 1승(I), 2일 때는 2승(I²)과 같이 계산 대상을 결정합니다.
  • 안쪽 루프(k): 거듭제곱을 실제로 계산합니다. temp에 I를 j번 곱하여 I^j 값을 구합니다.

실행 결과

위 프로그램을 컴파일하고 실행하면 다음과 같은 결과가 출력됩니다.

I    I^2   I^3  I^4
-----------------------
1    1    1      1
2    4    8    16
3    9   27   81
4   16   64   256
5   25  125   625
6   36  216   1296
7   49  343  2401
8   64  512  4096
9   81  729  6561

결과를 보면 각 행은 밑(base)을, 각 열은 지수(exponent)를 나타냅니다. 예를 들어 마지막 행에서 9의 네제곱인 6561이 정확히 계산되어 출력된 것을 확인할 수 있습니다.