블로그 이미지
하루, 글. 그림. 영상매체. 표현을 도와주는 기기들. 도전 중. 동화다아아
    동화다아아

    카테고리

    분류 전체보기 (176)
    잡담 (1)
    IT 기기-리뷰&뉴스 (7)
    리뷰 - 도서 (1)
    리뷰 - 영상 (0)
    리뷰 - 그림/음악 (1)
    내장형 하드웨어 (163)
    Total
    Today
    Yesterday
     

    연습문제.

    // 2단부터 9단까지의 구구단을 차례대로 출력하는 프로그램

    1)

    #include<stdio.h>

    int main()

    {

            int iNum;

            

            for(iNum=1;72>=iNum;++iNum) // iNum1부터 72까지 반복한다.

            {

                    if((2<=iNum) && (9>=iNum)) // 2단 출력

                    {

                            printf("2 * %d = %d\n",iNum,iNum*2);

                    }

                    if((10<=iNum) && (18>=iNum)) // 3단 출력

                    {

                            printf("3 * %d = %d\n",iNum-9,(iNum-9)*3);

                    }

                    if((19<=iNum) && (27>=iNum)) // 4단 출력

                    {

                            printf("4 * %d = %d\n",iNum-18,(iNum-18)*4);

                    }

                    if((28<=iNum) && (36>=iNum)) // 5단 출력

                    {

                            printf("5 * %d = %d\n",iNum-27,(iNum-27)*5);

                    }

                    if((37<=iNum) && (45>=iNum)) // 6단 출력

                    {

                            printf("6 * %d = %d\n",iNum-36,(iNum-36)*6);

                    }

                    if((46<=iNum) && (54>=iNum)) // 7단 출력

                    {

                            printf("7 * %d = %d\n",iNum-45,(iNum-45)*7);

                    }

                    if((55<=iNum) && (63>=iNum)) // 8단 출력

                    {

                            printf("8 * %d = %d\n",iNum-54,(iNum-54)*8);

                    }

                    if((64<=iNum) && (72>=iNum)) // 9단 출력

                    {

                            printf("9 * %d = %d\n",iNum-63,(iNum-63)*9);

                    }

                                            

            }

            return 0;

    }

    실행결과

    ⇒ 2단부터 9단까지의 구구단이 순서대로 출력된다.


    2)

    #include<stdio.h>

    int main()

    {

            int iNum;

            for(iNum=0;80>=iNum;++iNum)

            {

                    printf("%d * %d = %d\n",(iNum/9)+1,(iNum%9)+1,((iNum/9)+1)*((iNum%9)+1) );

                    /* (iNum/9)+1은 1을 9번, 2를 9번 … 9를 9번 반복하고 (iNum%9)+1은 1부터 1씩 증가시켜 준다. 그리고 두 식을 곱한 것이 곱셈의 답이 된다. */

            }


            return 0;

    }

    실행결과

    ⇒ 2단부터 9단까지의 구구단이 순서대로 출력된다.





    과제1.

    구구단 출력(1단부터 9단까지), 변수는 iNum만 사용, for문과 if문을 사용하되 가로로 1단에서 2단까지가 각각 나누어 출력되고, 개행하여 3단에서 6단까지가 가로로 출력되며 개행, 역시 마지막으로 7단에서 9단까지가 가로로 출력되게 하는 프로그램.

    ⇒ 풀이 1-1.

    #include<stdio.h>

    int main()

    {

            int iNum;

            for(iNum=0;80>=iNum;++iNum)

            {

                    printf("%d * %d = %d\t",(iNum%9)+1,(iNum/9)+1,((iNum/9)+1)*((iNum%9)+1));

                    /* (iNum%9)+1은 1부터 1씩 증가하고 (iNum/9)+1은 1을 9번, 2를 9번 … 9를 9번 반복해 준다. 그리고 두 식을 곱한 것이 곱셈의 답이 된다. */

                    if((iNum+1)%3==0) // (iNum+1)을 3번 출력하면

                    {

                            printf("\n"); // 개행이 들어간다.

                            iNum=iNum+6; /* iNum에 6을 더해준다. 이렇게 해서 한줄에 1단부터 3단까지 표시한 후 4단부터 9단까지 나갈 계산을 넘기고 다시 1 * 2 = 2    2 * 2 = 4    3 * 2 = 6 을 표시해 주며 개행한 후 반복해 나간다. */

                    }

            }

            for(iNum=3;80>=iNum;++iNum)

            {

                    printf("%d * %d = %d\t",(iNum%9)+1,(iNum/9)+1,((iNum/9)+1)*((iNum%9)+1));

                    if((iNum+1)%3==0)

                    {

                            printf("\n");

                            iNum=iNum+6; /* iNum에 6을 더해준다. 이렇게 해서 한줄에 4단부터 6단까지 표시한 후 7단부터 3단까지 나갈 계산을 넘기고 다시 4 * 2 = 8    5 * 2 = 10    6 * 2 = 12 을 표시해 주며 개행한 후 반복해 나간다. */

                    }

            }

            for(iNum=6;80>=iNum;++iNum)

            {

                    printf("%d * %d = %d\t",(iNum%9)+1,(iNum/9)+1,((iNum/9)+1)*((iNum%9)+1));

                    if((iNum+1)%3==0)

                    {

                            printf("\n");

                            iNum=iNum+6; /* iNum에 6을 더해준다. 이렇게 해서 한줄에 7단부터 9단까지 표시한 후 1단부터 6단까지 나갈 계산을 넘기고 다시 7 * 2 = 14    8 * 2 = 16    9 * 2 = 18 을 표시해 주며 개행한 후 반복해 나간다. */

                    }

            }

            return 0;

    }

    ⇒ 출력결과

     → 소스를 실행시킨 결과 원하는 값을 출력할 수 있었으나, 주어진 문제에서 for문을 한번만 사용하는 조건을 만족시키지 못했다.




    ⇒ 풀이 1-2(for문을 1번만 사용)

    #include<stdio.h>

    int main()

    {

            int iNum;

            for(iNum=0;26>=iNum;++iNum) // 0부터 26까지 반복

            {

                    if(iNum<=8) // 1단부터 3단까지 출력

                    {

                            printf("%d * %d = %d\t", 1, (iNum%9)+1, 1*((iNum%9)+1));

                            printf("%d * %d = %d\t", 2, (iNum%9)+1, 2*((iNum%9)+1));

                            printf("%d * %d = %d\n", 3, (iNum%9)+1, 3*((iNum%9)+1));

                    }

                    else if(iNum>=9 && iNum<=17) // 4단부터 6단까지 출력

                    {

                            printf("%d * %d = %d\t", 4, (iNum%9)+1, 4*((iNum%9)+1));

                            printf("%d * %d = %d\t", 5, (iNum%9)+1, 5*((iNum%9)+1));

                            printf("%d * %d = %d\n", 6, (iNum%9)+1, 6*((iNum%9)+1));

                    }

                    else // 5단부터 9단까지 출력

                    {

                            printf("%d * %d = %d\t", 7, (iNum%9)+1, 7*((iNum%9)+1));

                            printf("%d * %d = %d\t", 8, (iNum%9)+1, 8*((iNum%9)+1));

                            printf("%d * %d = %d\n" ,9, (iNum%9)+1, 9*((iNum%9)+1));

                    }

            }

            return 0;

    }

    ⇒ 출력결과

     

    과제2.

    변수와 for문을 각각 두 개 사용해서 구구단을 출력(1단부터 9단까지)하는 프로그램.


    ⇒ 풀이

    #include<stdio.h>

    int main()

    {

            int iNum1;

            int iNum2;


            for(iNum1=1;iNum1<=9;++iNum1) // 1단부터 9단까지의 반복

            {

                    for(iNum2=1;iNum2<=9;++iNum2) //각 단을 1부터 9까지 반복

                    {

                            printf("%d * %d = %d\n",iNum1,iNum2,iNum1*iNum2);

                    }

            }

            return 0;

    }

    ⇒ 1단부터 9단까지의 계산이 순서대로 출력되었다.


    Posted by 동화다아아
    , |

    최근에 달린 댓글

    최근에 받은 트랙백

    글 보관함