프로그래밍 study/cpp study 백준

[백준] 1008번 A/B C++ 문제 풀이 입출력 - 8

박재완 2021. 3. 24. 19:00
728x90
반응형

문제

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

입력

첫째 줄에 A와 B가 주어진다. (0 < A, B < 10)

출력

첫째 줄에 A/B를 출력한다. 실제 정답과 출력값의 절대오차 또는 상대오차가 10-9 이하이면 정답이다.

 

이전과 비슷하여 따로 설명은 없지만 자릿수 조건 표시가 있기 때문에 해당 부분이 중요하다 생각하여 설명을 남겨둔다.

코드는 아래와 같다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
using namespace std;
 
int main() {
    double a, b;
 
    cin >> a >> b;
 
    cout << fixed;
    cout.precision(15);
    cout << a/<< endl;
    cout.unsetf(ios::fixed);// 다시 정수부부터 계산 받아야 하니까
    return 0;
}
cs

 

CPP에서는 FIXED라는 함수를 이용해서 자동적으로 자리를 올림 해주는 기능이 있다. 하지만 해당 문제는 지정한 자릿수가 있기 때문에 자동 숫자 정리와 함께 precision(원하는 자릿수) 를 이용해서 조건에 맞는 숫자가 출력 될 수 있도록 정리해준다.

물론 unsetf 를 통해서 다시 자동 자리 정렬의 기능을 정지 시킬 수 있다. 만약 계속해서 해당 값이 돌고 있다면 반복문이라면 입력값또한 자릿수가 해당 지정 값에 맞춰서 돌아가기 때문에 자주 정렬을 정지해줘야 한다.

728x90
반응형