백준

BOJ - 1008(C++)

Jminu 2022. 12. 27. 01:36

https://www.acmicpc.net/problem/1008

 

1008번: A/B

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

www.acmicpc.net


#include <iostream>

using namespace std;

int main(void)
{
    double a;
    double b;

    cin >> a;
    cin >> b;
    
    cout << a / b << endl;
    return 0;
}

처음 보자마자 코드를 이렇게 짜야겠다는 생각이 들었다.

근데 이렇게 하면, 0.333333이렇게 밖에 출력이 안된다.

기본적으로 소숫점아래 6자리까지만 출력됨(이게 디폴트임)

우리는 오차가 10의 -9승의 오차를 허용해야함..

 


 

그러면 최소 소숫점아래 9자리 까지는 출력이 되야한다.

#include <iostream>
#include <iomanip>

using namespace std;

int main(void)
{
    double a;
    double b;

    cin >> a;
    cin >> b;
    cout << setprecision(10);
    cout << a / b << endl;
    
    return 0;
}

setprecision으로 소숫점아래 10자리 까지 출력한다고 설정하면 됨. (iomanip 헤더 포함)


ps)C언어로 할때는 똑같이 하되, printf("%0.9lf", a / b); 이런식으로 하면 될듯..