C/본수업

[2025.03.11] Ch.03_데이터와 C_연습문제

polibo 2025. 3. 11. 18:19

float 4바이트

double 8바이트

 

float는 소수점 6째 자리까지 정확함.

double은 소수점 15번째 자리까지 정확함. 이거는 달라질 수 있음. 그니까 그때그때 확인해봐야 함!

 

float를 썼는데 하다보면 자리가 넘어가는 경우가 생길 수 있음 => 의도적으로 반올림 해줘야함.

 

 

 

 

★ 문제 4

// 문제 4
#include <stdio.h>

int main()
{
    float num;
    printf("부동소수점 수를 입력하세요: ");
    scanf("%f", &num);

    printf("고정소수점 표기: %f\n", num);
    printf("지수 표기: %e\n", num);
    printf("p 표기: %a\n", num);

    return 0;
}

 

 

 

 

★ 문제 5

// 문제 5
#include <stdio.h>

int main()
{
    int age;
    printf("나이를 햇수로 입력하세요 : ");
    scanf("%d", &age);

    printf("초 단위 나이 : %f\n", age * 3.156e7);

    return 0;
}

 

 

★ 문제 6

// 문제 6 =====> 한번 다시 해봄
#include <stdio.h>

int main()
{
    int water;
    long double result;
    printf("쿼트 단위의 물의 양을 입력하세요 : ");
    scanf("%d", &water);

    result = water * 950 / 3.0e-23;

    printf("물 분자의 개수 : %Le\n", result);


    return 0;
}

 

 

 

★ 문제 7

// 문제 7
#include <stdio.h>

int main()
{
    int height;
    printf("키를 cm 단위로 입력하세요: ");
    scanf("%d", &height);

    printf("키를 인치로 나타냅니다. : %f\n", height / 2.54);

    return 0;
}

 

 

 

 

★ 문제 8

// 문제 8
#include <stdio.h>

int main()
{
    float cup;
    printf("cup 단위로 부피가 얼마인가요 : ");
    scanf("%f", &cup);

    printf("pints로 환산 = %f\n", cup / 2);
    printf("ounces로 환산 = %f\n", cup * 8);
    printf("tablespoons로 환산 = %f\n", cup * 8 * 2);
    printf("teaspoons로 환산 = %f\n", cup * 8 * 0.5 * 3);

    return 0;
}