[C언어 코드업 문제풀이] CodeUp 1029 : [기초-데이터형] 실수 1개 입력받아 그대로 출력하기2(설명)

코드업 1029번 실수 1개 입력받아 그대로 출력하기 문제풀이 해답입니다.

 

1. 문제 설명

 

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

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

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

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


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

 

2. 입력

 

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

 

3. 출력

 

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


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

 

4. 입력 예시

 

3.14159265359

5. 출력 예시

 

3.14159265359

 

6. 문제 풀이

 

double 자료형 사용 문제입니다.

#include<stdio.h>
 
int main(void)
{
    double num;
    scanf("%lf",&num);
    printf("%.11lf", num);
    return 0;
}

float형보다 범위가 큰 double을 사용하면 되며 지정자는 %lf로 long float을 사용합니다.

[소수점 이하 11자리까지 반올림하여 출력한다.] 라는 조건을 만족시키기 위해 출력에는 %.11lf 을 사용합니다.

댓글()