안녕하세요. 슬슬 끝이 나는게 보입니다.
BOJ 1008번 이번에는 나눗셈인데요, 링크는 여기입니다.
https://www.acmicpc.net/problem/1008
엥 나눗셈이네. 그냥 저번처럼 연산자만 / 로 바꿔주면 되는거 아니여?
하고 했는데 물론 안됩니다. 문제를 자세히 읽어봐야겠죠.
조금 까다롭게 되어있네요.
일단 정수형 변수 A,B 니까 int 형으로 선언을 해줍시다.
출력을 할 때, 절대오차 또는 상대오차가 10의 -9제곱 이하이면 되니,
소수점 9째자리까지 출력을 해주면 문제가 해결될 것 같습니다.
%f 가 부동 소수 출력인데, 앞에 .? 를 해주면 소수점 아래 ? 자리까지 출력합니다.
고로 %.9f 를 하면 소수점 아래 9자리까지 출력이 될 것입니다.
문제는 나눗셈을 하면 0.000000000이 나와버리는데, 이것은 int 형이기 때문입니다.
자료형 변환을 시켜줘야 int 형 값이 아닌, float 식으로 출력을 할 수 있겠죠.
변수명 앞에 (double) 을 붙여줍시다.
코드는 이렇게 되겠네요.
#include <stdio.h>
int main()
{
int A = 0, B = 0;
scanf("%d %d", &A, &B);
printf("%.9f", (double)A / (double)B);
return 0;
}
감사합니다.
'백준 문제풀이 > 입출력과 사칙연산' 카테고리의 다른 글
백준 알고리즘 10430 / 단계별로 풀어보기 - 입출력과 사칙연산 11 (0) | 2019.12.03 |
---|---|
백준 알고리즘 10869 / 단계별로 풀어보기 - 입출력과 사칙연산 10 (0) | 2019.12.03 |
백준 알고리즘 10998 / 단계별로 풀어보기 - 입출력과 사칙연산 8 (0) | 2019.12.02 |
백준 알고리즘 1001 / 단계별로 풀어보기 - 입출력과 사칙연산 7 (0) | 2019.12.02 |
백준 알고리즘 1000 / 단계별로 풀어보기 - 입출력과 사칙연산 6 (0) | 2019.12.01 |