본문 바로가기

C/C++/예제

[C 예제] for 문 활용 숫자 다양하게 출력하기.

반응형

C 예제.

FOR 문을 이용해 다양한 디자인? 으로 출력을 해보자 !!

 

 

for 문을 배우고나면 대부분의 교수님들이 한번쯤 시키는...그런 예제 입니다.

 

자 우선

이러한 형태로 출력을 하는 기본 소스에서 조금씩 수정을 통해

오른쪽에서 왼쪽으로 출력을 하거나~ 거꾸로 뒤집어서 출력을 하거나 하는 형태로

변형해봅시다 !!

 

1. 기본이 되는 출력을 위한 소스.

 

#include 

int main()
{
    int n[5][5] = {0,};
    int i, j;
    int k = 1;

    for(i = 0; i < 5; i++)
        for(j = 0; j < 5; j++)
            n[i][j] = k++;

    for(i = 0; i < 5; i++)
    {
        for(j = 0; j < 5; j++)
            printf("%3d", n[i][j]);

        printf("\n");
    }

    return 0;
}

 

2. 우측 하단 시작.

 

결과화면.

 

소스.

 

#include 

int main()
{
    int n[5][5] = {0,};
    int i, j;
    int k = 1;

    // 우측 아래 부터 대입을 해야하니 i 와 j 모두 4부터 한개씩 줄여 나가야 겠죠 ?
    for(i = 4; i >= 0; i--)
        for(j = 4; j >= 0; j--)
            n[i][j] = k++;

    for(i = 0; i < 5; i++)
    {
        for(j = 0; j < 5; j++)
            printf("%4d", n[i][j]);
        printf("\n");
    }

    return 0;
}

 

 

 

3. 좌측 상단 시작.

 

결과 화면.

 

소스.

 

#include 

int main()
{
    int n[5][5] = {0,};
    int i, j;
    int k = 1;

    for(i = 0; i < 5; i++)
        for(j = 0; j < 5; j++)
            n[j][i] = k++;
            // 세로 순서로 출력을 해야하니 값을 대입할때 n[0][0], n[1][0], n[2][0].....n[4][0] 이렇게 가야겠죠 ?
    for(i = 0; i < 5; i++)
    {
        for(j = 0; j < 5; j++)
            printf("%4d", n[i][j]);
        printf("\n");
    }

    return 0;
}

 

 

4. 우측 상단 시작

 

결과화면.

 

 

소스.

 

#include 
int main()
{

    int n[5][5] = {0,};
    int i, j;
    int k = 1;

    // 3번과 동일한데 한가지 다른점이 우측에서 좌측으로 출력을 해야하니 i 값을 배열의 끝자리인 4부터 하나씩 내려줍니다 !!
    // 그러면~ n[0][4], n[1][4], n[2][4]....n[4][4], n[0][3] ... 이런식으로 순서대로 대입이 되겠죠 ?
    for(i = 4; i >= 0; i--)
        for(j = 0; j < 5; j++)
            n[j][i] = k++;

    for(i = 0; i < 5; i++)
    {
        for(j = 0; j < 5; j++)
            printf("%4d", n[i][j]);
        printf("\n");
    }

    return 0;
}

 

 

5. 좌측 하단 시작.

 

결과화면.

 

소스.

 

#include 

int main()
{
    int n[5][5] = {0,};
    int i, j;
    int k = 1;

    // 4번에선 i 값을 하나씩 줄여나갔지만 이번엔 j 값을 하나씪 줄여줘야 합니다.
    //  n[0][4], n[0][3].....n[0][0] .. n[1][4]... 이런식으로 값을 대입할수 있도록~
    for(i = 0; i < 5; i++)
        for(j = 4; j >= 0; j--)
            n[j][i] = k++;

    for(i = 0; i < 5; i++)
    {
        for(j = 0; j < 5; j++)
            printf("%4d", n[i][j]);
        printf("\n");
    }

    return 0;
}

 

 

 

반응형