옥수수와 식빵 그리고 코딩

8장 실전예제 본문

C/2021겨울계절 - 프로그래밍 이해

8장 실전예제

옥식 2021. 12. 30. 11:08

 

p.6 배열선언 후 배열 원소에 값을 저장하고 순차적으로 출력

#include <stdio.h>

#define SIZE 5
   
int main(void)
{
    int score[SIZE];

    score[0] = 78;
    score[1] = 98;
    score[2] = 85;

    score[4] = 91;

    for (int i = 0; i < SIZE; i++)
        printf("%d  ", score[i]);
    printf("\n");

    return 0;

}

p.9 배열선언 초기화를 이용한 합과 평균 출력

#include <stdio.h>

#define SIZE 6
   
int main(void)
{
    double score[] = { 89.3, 79.2, 84.83, 76.8, 92.52, 97.4 };
    double sum = 0;

    for (int i = 0; i < SIZE; i++)
    {
        sum = +score[i];
        printf("score[%d] = %.2lf\n", i, score[i]);
    }
    printf("합: %.2lf 평균 %.2lf\n", sum, sum / SIZE);

    return 0;

}

p.11 정수형 배열에 표준입력으로 받은 정수를 저장하여 출력

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>


   
int main(void)
{
    int input[20] = { 0 };
    printf("배열에 저장할 정수 여러개 입력: ");
    printf("0을 입력하면 입력을 종료.");
    int i = 0;
    do {
        scanf("%d", &input[i]);
    } while (input[i++] != 0);

    i = 0;
    while (input[i] != 0) {
        printf("%d ", input[i++]);
    }
    puts("");

    return 0;

}

p.15 2차원 배열선언과 원소에 초기값 저장 후 for문을 이용해 출력

#include <stdio.h>

#define ROWSIZE 2
#define COLSIZE 3
   
int main(void)
{
    int td[ROWSIZE][COLSIZE];

    td[0][0] = 1; td[0][1] = 2; td[0][2] = 3;
    td[1][0] = 4; td[1][1] = 5; td[1][2] = 6;

    printf("반복문 for를 이용하여 출력\n");
    for (int i = 0; i < ROWSIZE; i++)
    {
        for (int j = 0; j < COLSIZE; j++)
            printf("td[%d][%d] == %d ", i, j, td[i][j]);
        printf("\n");
    }


    return 0;

}

p.18 2차원 배열 초기화와 for을 이용해 원소 출력

#include <stdio.h>

#define ROWSIZE 2
#define COLSIZE 3
   
int main(void)
{
    int td[][3] = { {1}, {1, 2, 3} };

    printf("반복문 for를 이용하여 출력\n");
    for (int i = 0; i < ROWSIZE; i++)
    {
        for (int j = 0; j < COLSIZE; j++)
            printf("%d  ", td[i][j]);
        printf("\n");
    }
    return 0;

}

p.19

오류남

#include <stdio.h>

#define ROWSIZE 4
#define COLSIZE 3
   
int main(void)
{
    int sum = 0, midsum = 0, finalsum = 0;

    int score[][COLSIZE] = { 95, 85, 90, 88, 86, 90, 88, 78 };
    printf("-----------------------\n");
    for (int i = 0; i < ROWSIZE; i++)
    {
        for (int j = 0; j < COLSIZE; j++)
        {
            printf("%10d ", score[i][j]);
            sum += score[i][j];
            if (j = 0)
                midsum += score[i][j];
            else
                finalsum += score[i][j];
        }
        puts("");

    }

    printf("----------------------\n");
    printf("평균: %6.2lf %10.2lf\n", (double)midsum / ROWSIZE, (double)finalsum / ROWSIZE);
    printf("성적의 합 %d", sum);
    printf("평균은 %.2lf", (double)sum / (ROWSIZE * COLSIZE));

    return 0;

}

 

p. 22 3차원 배열

#include <stdio.h>

#define ROWSIZE 4
#define COLSIZE 2
   
int main(void)
{
    int score[][ROWSIZE][COLSIZE] =
    {
        {{95, 85},
    {85, 83},
    {92, 75},
    {90, 88}},
    {{88, 77},
    {72, 95},
    {93, 83}}
    };

    for (int i = 0; i < 2; i++)
    {
        if (i == 0)
            printf("[강좌 1]");
        else
            printf("[강좌 2]");
        printf("%11s%7s\n", "중간", "기말");

        for (int j = 0; j < ROWSIZE; j++)
        {
            printf("%10s%2d", "학생", j + 1);
            for (int k = 0; k < COLSIZE; k++)
                printf("%6d ", score[i][j][k]);
            printf("\n");
        }
        printf("\n");
    }
    return 0;

}

p. 24  1차원과 2차원 배열에서 배열 전체 및 원소의 크기

#include <stdio.h>


int main(void)
{
    int data[] = { 3, 4, 5, 7, 9 };

    printf("%d %d\n", (int) sizeof(data), (int)sizeof(data[0]));
    printf("배열 data 크기 == %d\n", (int)(sizeof(data) / sizeof(data[0])));

    double x[][2] = {
        {1.2, 2.3},
    {7.3, 8.9}
    };

    printf("%d %d ", (int)sizeof(x), (int)sizeof(x[0]));

    printf("%d %d\n", (int) sizeof(x[1]), (int) sizeof(x[0][0]));
    int rowsize = sizeof(x) / sizeof(x[0]);
    int colsize = sizeof(x[0]) / sizeof(x[0][0]);
    printf("2차원 배열 x: 행수 = %d 열수 = %d\n", rowsize, colsize);
    printf("2차원 배열 x: 전체 원소 수 = %d\n", (int)(sizeof(x) / sizeof(x[0][0])));

    return 0;

 }

p.25 2차원 배열에서 원소 참조 방법과 저장 값을 출력

#include <stdio.h>


int main(void)
{
    int a[3][4] =
    {
        {1, 2, 7, 3},
    {5, 6, 3, 4},
    {9, 7, 1, 8}
    };

    printf("%6s %3s  ", "원소", "값");
    printf("%6s %3s  ", "원소", "값");
    printf("%6s %3s  ", "원소", "값");
    printf("%6s %3s\n  ", "원소", "값");
    printf("--------------------------");
    printf("--------------------------\n");

    for (int i = 0; i < 3;i++)
    {
        for (int j = 0; j < 4; j++)
            printf("a[%d][%d] %d  ", i, j, a[i][j]);
        puts("");
    }
    return 0;

 }

 

'C > 2021겨울계절 - 프로그래밍 이해' 카테고리의 다른 글

9장 실습예제  (0) 2021.12.31
9장 실전예제  (0) 2021.12.30
if else를 이용한 연봉 계산  (0) 2021.12.29
7장 실습예제  (0) 2021.12.29
6장 실전예제  (0) 2021.12.28
Comments