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

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

 

1. 문제 설명

정수 1개를 입력받아 그대로 출력해보자.
(단, 입력되는 정수의 범위는 0 ~ 4,294,967,295 이다.)

참고
-2147483648 ~ +2147483647 범위의 정수를 저장하고 처리하기 위해서는
int 형으로 변수를 선언하면 된다.(int 로 선언하고 %d로 받고 출력)

하지만 이 범위를 넘어가는 정수를 저장하기 위해서는
보다 큰 범위를 저장할 수 있는 다른 데이터형을 사용해야 정상적으로 저장시킬 수 있다.

unsigned int 데이터형을 사용하면 0 ~ 4294967295 범위의 정수를 저장할 수 있다.


예시
unsigned int n;
scanf("%u", &n);
printf("%u", n);

 

2. 입력

정수 1개가 입력된다.
(단, 입력되는 정수의 범위는 0 ~ 4294967295 이다.)

 

3. 출력

입력된 정수를 그대로 출력한다.

 

4. 입력 예시

2147483648

 

5. 출력 예시

2147483648

 

6. 문제 풀이

 

부호없는 정수형(unsigned int)를 사용하여 푸는 문제입니다.

 

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

int가 아닌 unsigned int 로 변수를 선언해줍니다. 이때 형식지정자는 %d가 아닌 부호없는 %u를 사용해줍니다.

부호없는 정수형을 사용할 경우 문제에서 요구한 입력값 2147483648을 입력할 경우 -2147483648이 출력됩니다.

댓글()