ET의 공부/C언어 연습문제[ 코드업 ]
[C언어 코드업 문제풀이] CodeUp 1028 : [기초-데이터형] 정수 1개 입력받아 그대로 출력하기2(설명)
이티의 골방
2019. 12. 19. 13:51
코드업 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이 출력됩니다.