memostack
article thumbnail
블로그를 이전하였습니다. 2023년 11월부터 https://bluemiv.github.io/에서 블로그를 운영하려고 합니다. 앞으로 해당 블로그의 댓글은 읽지 못할 수 도 있으니 양해바랍니다.
반응형

문제

원문: www.codeup.kr/problem.php?id=1029

 

[기초-데이터형] 실수 1개 입력받아 그대로 출력하기2(설명)

C언어기초100제v1.2 : @컴퓨터과학사랑, 전국 정보(컴퓨터)교사 커뮤니티/연구회 - 학교 정보(컴퓨터)선생님들과 함께 수업/방과후학습/동아리활동 등을 통해 재미있게 배워보세요.  - 모든 내용 ��

www.codeup.kr

 

실수 1개를 입력받아 그대로 출력해보자.
(단, 입력되는 실수의 범위는 +- 1.7*10-308 ~ +- 1.7*10308 이다.)

참고
float 데이터형을 사용하면 +- 3.4*10-38 ~ +- 3.4*1038 범위의 실수를 저장할 수 있다.
(float 로 선언하고 %f로 입력 받아 출력하면 된다.)

이 범위를 넘어가는(더 작거나 더 큰) 실수를 저장하기 위해서는
보다 큰 범위를 저장할 수 있는 다른 데이터형을 사용해야 정상적으로 저장시킬 수 있다.
double은 더 정확하게 저장할 수 있지만, float보다 2배의 저장 공간이 필요하다.

double 데이터형을 사용하면
+- 1.7*10-308 ~ +- 1.7*10308 범위의 실수를 저장할 수 있다.


예시
double d;
scanf("%lf", &d); // double(long float) 형식으로 입력
printf("%lf", d);

 

입력

소수점 아래 숫자가 11개 이하인 실수 1개가 입력된다.
(단, 입력되는 실수의 범위는 +- 1.7*10-308 ~ +- 1.7*10308 이다.)

3.14159265359

 

출력

입력된 실수를 소수점 이하 11자리까지 반올림하여 출력한다.


참고
%.11lf 를 사용하면 소수점 이하 11자리까지 출력된다.

3.14159265359

 

Java 풀기

float로는 소숫점 7자리까지밖에 표현하지 못한다.

그래서 Double형으로 타입을 변환하여 출력한다.

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
    public static void main(String[] args) throws IOException {
        final BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        System.out.printf("%.11f", Double.parseDouble(br.readLine()));
    }
}

 

채점결과

채점결과

 

 

위 풀이는 직접 풀어보고 채점까지 한 뒤에 확인하여 올린 코드입니다.

궁금한점이나 더 좋은 방법이 있다면 아래 댓글 달아주세요. 감사합니다.

 

관련 글

 

CodeUp Java로 기초 100제 풀어보기

문제의 저작권은 'CodeUp'에게 있습니다. 저작권 문제가 있는 경우, 바로 삭제하겠습니다. codeup.kr/index.php CodeUp ☆ 파이썬 다운로드 : 파이썬3 ☆ 무료 C언어 IDE : Code::blocks  DEV C++ ☆ 추천 온라인..

memostack.tistory.com

 

반응형
블로그를 이전하였습니다. 2023년 11월부터 https://bluemiv.github.io/에서 블로그를 운영하려고 합니다. 앞으로 해당 블로그의 댓글은 읽지 못할 수 도 있으니 양해바랍니다.
profile

memostack

@bluemiv_mm

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!