반응형
https://www.acmicpc.net/problem/1008
1008번: A/B
두 정수 A와 B를 입력받은 다음, A/B를 출력하는 프로그램을 작성하시오.
www.acmicpc.net
코드
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main() {
int A, B;
scanf("%d %d", &A, &B);
printf("%.9lf", (double)A / B);
return 0;
}
☞풀이 전
문제에서 정수 A,B를 입력받으라 하여서 int 자료형으로 변수를 선언했는데
이제보니 실수형으로 선언하고 정수를 입력하기만하면 됐다.
즉 double형으로 선언하여도 무방했다!
"실제 정답과 출력값의 절대오차 또는 상대오차가 10^-9 이하이면 정답이다."
10^-9 이하의 오차를 허용한다는 말은 꼭 소수 9번째 자리까지만 출력하라는 뜻이 아니다."
이 말은 즉슨 소수점 이하 9자리 이상 출력하라는 뜻과 같았다.
☞풀이 후
위에서 기술한대로 변수의 자료형 자체를 double형으로 선언한 뒤 연산을 수행해도 되고
나처럼 변수 중 하나를 형변환 해주어도 된다.
연산을 수행할 때 자료형의 크기가 더 큰 type로 결과값의 자료형이 정해지기 때문이다.
int는 4바이트이고 double은 8바이트이기 때문에 double형으로 출력이 가능하다.
반응형
'Baekjoon' 카테고리의 다른 글
[C] 백준 9498번 : 시험 성적 (0) | 2023.01.11 |
---|---|
[C] 백준 5597번 : 과제 안 내신 분..? (0) | 2023.01.11 |
[C] 백준 2908번 : 상수 (0) | 2023.01.09 |
[C] 백준 1065번 : 한수 (0) | 2023.01.09 |
[C] 백준 4673번 : 셀프 넘버 (0) | 2023.01.07 |