반응형

기초구구단  만들어 보기 GuGuDan Multiplication table (while 문, for문 각각 작성) 

 

 C언어 기초편으로 오늘은 구구단을 출력해보겠습니다. 구구단 자체는 어렵지 않으나, 이중 중첩 while 문을 익히는데 좋은 연습문제가 되기 때문에 다루어 봅니다. 
( 우선 while () 문으로 연습해보고, for문으로도 적용해 보세요)

 

문제 1 : 출력을 원하는 구구단을 입력받아 해당 구구단을 출력하세요. (구구단 한 단만 출력)

 

 

 실행결과 : 아래와 같은 결과를 만들어 보세요.

 

( 아래 포인트 내용을 보고 힌트를 얻고 생각을 정리해서 스스로 코드를 작성해보세요. 최대한 노력해본 후에 제시 답안과 비교해보세요. 
 코딩 결과를 얻으려하지 말고 연습을 통해 스스로 코드를 완성해 낼 수 있는 능력을 키우는 것이 중요합니다 )

 

포인트 :
   -  while( ) 문을 사용하여 x1~ x9까지를 반복해 주어야 해요.

   -  scanf를 통해 구하고 싶은 구구단을 정수형태로 입력받고 값계산과 출력에 반영해야 합니다. 

   -  필요한 변수의 종류와 개수를 생각합니다. 

   -  증가 되어야 할 변수가 어떤 것인지? 생각해보고 증감 연산자를 사용합니다

   -  알고리즘에 문제가 없으면,  '=== 3단 ==='  ,  '줄 바꿈' 등 출력 결과를 꾸며주며 마무리 하세요.

 

주요 함수(형식) : 

   - 필수 라이브러리 :  #include <stdio.h>

   - 주요 함수 : 

       - printf(" ..... " ) 또는  printf(" ... %d... ", num )   

       - scanf(" %d ", &num)  ,    

       - while ( xxx < yyy )  {  .... ...   }

 

Code (답안 예시) :    

#include <stdio.h>

int main(void)
{
    int xdan, dan=1;
    printf("몇 단을 출력할까요? : ");
    scanf("%d", &xdan);
    printf("\n=== %d단 ===\n",xdan);
    while(dan<10)
    {
        printf("%d x %d = %2d\n", xdan, dan, xdan*dan);
        dan++;
    }    
    return 0;
}

 

 Code download :   

Hole99Dan_P156.zip
0.00MB

 

 

 문제 2 : 구구단 전체 출력하기 ,  2단부터 9단까지 이중 while ( ) 문을 이용해서 구구단을 출력 해보세요. 

 

 실행결과  : 아래와 같은 결과를 만들어 보세요.

 포인트 : 
   -  반복문 속에 반복문이 존재하는 형태로,  while( ) 문을 이중으로 사용하면 됩니다.
   -  속에 있는 while( )문으로는 x1~ x9까지를 반복해 주며,  밖에 있는 while( )문은 2단~9단을 표시하도록 처리해주세요.

   -  증가 연산자가 두 개가 필요한데, 반복문의 어디 어디에 넣어야 할지? 생각해보세요.

   -  알고리즘에 문제가 없으면,  '=== 2단 ==='  ,  '줄 바꿈' 등 출력 결과를 꾸며주며 마무리 하세요.

 

 주요 함수(형식) : 

   - 필수 라이브러리 :  #include <stdio.h>

   - 주요 함수 : 

       - printf(" ..... " ) 또는  printf(" ... %d... ", num )   

       - scanf(" %d ", &num)  ,    

       - while ( xxx < yyy )  {  .... ...   }

 

 Code (답안 예시) :    

#include <stdio.h>

int main(void)
{
    int dan=1, xdan=2;

    printf("구구단 출력\n");
    printf("\n=============\n");
    while(xdan<10)
    {
        while(dan<10) 
        {
            printf("%d x %d = %2d\n", xdan, dan, xdan*dan);
            dan++;
        }
        printf("\n==========\n");
        dan=1;
        xdan++;
    }    
    return 0;
}

 

 Code download :   

Hole99Dan_P156_2to9.zip
0.00MB

 

 문제 3 : For 문을 사용하여 구구단을 완성하되,  아래와 같은 형태로 출력 되도록 해보세요.

 

 

 실행결과 : 아래와 같은 결과를 만들어 보세요.

 포인트 : 
   -  먼저 위의 while ( ) 반복문을 참고하여 2단, 3단, 순으로 출력해본 후,  가로로 한 줄씩 출력이 될 수 있도록 생각해 보세요.

   -  첫 출 2단  2 x 1 =2  | ....    9 x 1 = 9 까지 출력된 후에는 printf("\n");  줄바꿈을 적용하면 됩니다.  

자신이 얻은 결과와 아래 예시 답안과 비교해 보세요. 

 

 Code (답안 예시) :    

#include <stdio.h>

int main(void)
{
    int i,j;
    printf(" ==================================================== 구구단 ===================================================\n");
    for (i=1; i<10; i++) 
    {
        for (j=2; j<10; j++)
        {
            printf(" %d X %d = %2d  |", j, i, i*j);
        }
        printf("\n");
    }
    printf(" ===============================================================================================================");
}

 

 Code download :   

TwoToNineForVer.zip
0.00MB

 

반응형