본문 바로가기

스터디/코딩

[ 코딩 도장 : C ] Unit 36. 배수 사용하기 : 연습문제 / 심사문제

36.11 연습문제 : 점수 평균 구하기

문제 ) 다음 소스 코드를 완성하여 배열에 저장된 점수의 평균이 출력되게 만드세요.

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main()
{
    float scores[10] = { 67.2f, 84.3f, 97.0f, 87.1f, 71.9f, 63.0f, 90.1f, 88.0f, 79.7f, 95.3f };
    float sum = 0.0f;
    float average;

    for (int i = 0; i < sizeof(scores) / sizeof(float); i++)
    {
        sum += scores[i];
    }

    average = sum / (sizeof(scores) / sizeof(float));

    printf("%f\n", average);

    return 0;
}

 

 

36.12 연습문제 : 2진수를 10진수로 변환하기

문제 ) 다음 소스 코드를 완성하여 배열에 저장된 2진수가 10진수로 출력되게 만드세요. 2진수는 배열에 순서대로 저장되어 있습니다.

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main()
{
    int decimal = 0;
    int binary[4] = { 1, 1, 0, 1 };    // 1101 순서대로 저장됨

    int num = 0;
    for (int i = sizeof(binary) / sizeof(int) - 1; i >= 0; i--)
    {
        if (binary[i] == 1)
            decimal += 1 << num;
        num++;
    }
    printf("%d\n", decimal);

    return 0;
}

 

 

36.13 심사문제 : 가장 작은 수 출력하기

문제 ) 표준 입력으로 정수 다섯 개가 입력됩니다(입력 값의 범위는 -2147483648~2147483647). 다음 소스 코드를 완성하여 입력된 정수 중에서 가장 작은 수가 출력되게 만드세요.

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main()
{
    int numArr[5];
    int smallestNumber;

    scanf("%d %d %d %d %d", &numArr[0], &numArr[1], &numArr[2], &numArr[3], &numArr[4]);

    smallestNumber = numArr[0];

    for (int i = 0; i < sizeof(numArr) / sizeof(int); i++)
    {
        if (numArr[i] < smallestNumber)
            smallestNumber = numArr[i];
    }
        printf("%d\n", smallestNumber);

    return 0;
}