백준 A/B 풀이 코드(1008)

지환·2021년 12월 17일
0

백준(C)

목록 보기
4/47

문제

두 정수 A와 B를 입력받은 다음, A/B를 출력하는 프로그램을 작성하시오.

예제입력
1 3

예제출력
0.33333333333333333333333333333333

풀이

scanf()로 a, b 변수를 받고 prinf()로 a/b를 출력한다. 입력 시엔 변수명 앞에 &을 쓰는 것에 유의한다. 상대오차가 10⁻⁹ 이내여야 한다는 단서가 있으므로 소숫점 아래 9자리까지 실수형으로 출력한다.

중요한 부분은 입력시 a, b 변수를 정수(int)로 받았다면 나누기 연산 시 실수(double)로 형 변환을 해야한다. 이때 (double)(a / b)로 작성하면 (a / b)가 소숫점이 절삭된 정수로 먼저 계산된 뒤 실수 형태로 변환되기 때문에 오차가 발생한다. 나눗셈 연산보다 변수 a의 실수 변환이 먼저 되도록 (double) a / b로 작성한다.

#include <stdio.h>

int main () {
    int a, b;
    scanf("%d %d", &a, &b);
    printf("%.9f", (double)a / b); // 이부분 형 변환
    return 0;
}

제출

profile
아는만큼보인다.

0개의 댓글