티스토리 뷰

728x90
반응형

백준 온라인 저지(BOJ) 1008번 A/B

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

 

1008번: A/B

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

www.acmicpc.net

* 사용언어 : C언어, C++

 

1. 문제

두 정수를 입력받아 a / b 를 출력

 

2. 풀이

scanf, printf 함수를 이용하여 두 수를 나눈 값을 출력합니다.

scanf 함수는 매개변수로 변수의 주소값을 사용하기 때문에

변수명 앞에 &를 붙여야 합니다.

 

(double)(a / b) 라고 적으면 원하는 값이 출력되지 않습니다.

이유는 a, b 모두 int형이기 때문에 정수 나누기로 계산한 뒤, 그 결과값만 실수형으로 변환하기 때문입니다. (소수 아래 버림)

 

(double)a / b 라고 적으면 a가 먼저 실수형이 되고,

c언어 사칙연산 규칙에 의해 b도 실수형이 되어 소수 아래까지 계산된 결과까지 얻을 수 있습니다.

 

3. 코드

#ifndef _CRT_SECURE_NO_WARNINGS
#define _CRT_SECURE_NO_WARNINGS
#endif
/*
1008_A/B
1116KB	0ms
*/
#include <cstdio>

int main() {
	int a, b;
	scanf("%d %d", &a, &b);
	printf("%.9f\n", (double)a / b);
	return 0;
}

* %.9f : 소수 아래 9자리 실수 (끝자리 반올림)

728x90
반응형
댓글