1028 : [기초 - 데이터형] 정수 1개 입력받아 그대로 출력하기 2
문제 설명 : https://codeup.kr/problem.php?id=1028
정수를 입력받아 그대로 출력하는 문제다.
- %u는 unsigned다.
- %u는 32bit(4byte) 정수에 대한 출력 형식이다.
- unsigned int 데이터형을 사용하면 0 ~ 4294967295 범위의 정수를 저장한다.
- int는 +- 약 21억이지만 부호가 없기 때문에 약 21억, 약 21억을 더해 약 43억 미만의 범위를 저장한다.
여기서는 int의 부호가 없는 정수형 출력을 배운다.
#include <stdio.h>
int main()
{
int x;
scanf("%u", &x);
printf("%u", x);
return 0;
}
1029 : [기초 - 데이터형] 실수 1개 입력받아 그대로 출력하기 2
문제 설명 : https://codeup.kr/problem.php?id=1029
실수 1개를 입력받아 그대로 출력하는 문제다.
- double 데이터형을 사용한다.
- double 크기는 64bit(8byte)다.
- double의 범위는 -1.79*10^308 ~ 1.79*10^308이다.
- double의 정밀도는 15자리다
- double의 형식 문자는 %lf다.
- 출력할 소수점 자릿수를 생각한다.
전에 배운 float의 형식 문자는 %f다. float은 -3.4*10^38 ~ 3.4*10^38 범위의 실수를 저장한다.
float의 범위를 넘어가는 실수를 저장하기 위해서는 보다 큰 범위를 저장할 수 있는 다른 데이터형을 사용해야 한다.
double은 소수점 이하 15번째 정보까지 신뢰할 수 있기 때문에 float형에 비해 정확도가 뛰어나다.
double은 더 정확하게 저장할 수 있지만, float보다 2배의 저장 공간이 필요하다.
#include <stdio.h>
int main()
{
double x;
scanf("%lf", &x);
printf("%.11lf", x);
return 0;
}
1030 : [기초 - 데이터형] 정수 1개 입력받아 그대로 출력하기 3
문제 설명 : https://codeup.kr/problem.php?id=1030
정수를 입력받아 그대로 출력하는 문제다.
int형의 범위를 넘어선 데이터형을 배운다.
- long long int 데이터형을 사용한다.
- long long int 크기는 64bit(8byte)다.
- long long int 범위는 -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807이다.
- long long int로 변수를 초기화하고 형식 문자는 %lld다.
int의 범위인 약 +- 21억의 범위를 넘은 정수 값을 저장하기 위해서는 보다 큰 범위를 저장할 수 있는
long long int 데이터형을 사용해야 한다.
#include <stdio.h>
int main()
{
long long int x;
scanf("%lld", &x);
printf("%lld", x);
return 0;
}
1031 : [기초 - 출력 변환] 10진 정수 1개 입력받아 8진수로 출력하기
문제 설명 : https://codeup.kr/problem.php?id=1031
1006에서 배운 형식 문자(형식 지정자)에서 8진수의 형식 문자를 사용하는 문제다.
- 10진수로 입력받는다.
- 8진수로 출력한다.
지금까지는 10진수 정수 혹은 실수를 출력했다. 이번에는 8진수로 출력하지만 입력은 10진수로 받아야 한다.
#include <stdio.h>
int main()
{
int x;
scanf("%d", &x);
printf("%o", x);
return 0;
}
1032 : [기초 - 출력 변환] 10진 정수 입력받아 16진수로 출력하기 1
문제 설명 : https://codeup.kr/problem.php?id=1032
1006에서 배운 형식 문자(형식 지정자)에서 16진수의 형식 문자를 사용하는 문제다.
1031문제와 같은 유형이다.
- 10진수로 입력받는다.
- 16진수로 출력한다.
- 16진수는 소문자, 대문자 구분이 있다.
방금 8진수 출력을 배웠다. 이제는 16진수 출력이다.
#include <stdio.h>
int main()
{
int x;
scanf("%d", &x);
printf("%x", x);
return 0;
}
1033 : [기초 - 출력 변환] 10진 정수 입력받아 16진수로 출력하기 2
문제 설명 : https://codeup.kr/problem.php?id=1033
1006에서 배운 형식 문자(형식 지정자)에서 16진수의 형식 문자를 사용하는 문제다.
1032문제와 같다.
- 10진수로 입력받는다.
- 16진수로 출력한다.
- 16진수는 소문자, 대문자 구분이 있다.
#include <stdio.h>
int main()
{
int x;
scanf("%d", &x);
printf("%X", x);
return 0;
}
1034 : [기초 - 출력 변환] 8진 정수 1개 입력받아 10진수로 출력하기
문제 설명 : https://codeup.kr/problem.php?id=1034
1006에서 배운 형식 문자(형식 지정자)에서 8진수의 형식 문자를 사용하는 문제다.
1031문제와 같지만 반대의 유형이다.
- 8진수로 입력받는다.
- 10진수로 출력한다.
C언어에서 0으로 시작하는 수는 8진수로 인식된다.
0으로 시작되는 수를 초기화하면 8진수라는 걸 잊어선 안된다.
예를 들어 int x = 013;으로 초기화했을 때 8진수로 저장되고 저장되는 값은 10진수 11과 같은 값이다.
#include <stdio.h>
int main()
{
int x;
scanf("%o", &x);
printf("%d", x);
return 0;
}
1035 : [기초 - 출력 변환] 16진 정수 1개 입력받아 8진수로 출력하기
문제 설명 : https://codeup.kr/problem.php?id=1035
1006에서 배운 형식 문자(형식 지정자)에서 16진수, 8진수의 형식 문자를 사용하는 문제다.
- 16진수로 입력받는다.
- 8진수로 출력한다.
- 16진수는 소문자, 대문자 구분이 있다.
#include <stdio.h>
int main()
{
int x;
scanf("%x", &x);
printf("%o", x);
return 0;
}
1036 : [기초 - 출력 변환] 영문자 1개 입력받아 10진수로 출력하기
문제 설명 : https://codeup.kr/problem.php?id=1036
영문자 입력받아 아스키코드표의 10진수 값으로 출력하는 문제다.
- 영문자를 입력받는다
- 10진수로 출력한다.
아스키코드란 ASCII(American Standard Code for Information Interchange)로 미국 표준코드다.
영문자, 특수 문자 등을 저장할 때 사용하는 표준 코드다.
#include <stdio.h>
int main()
{
char x;
scanf("%c", &x);
printf("%d", x);
return 0;
}
1037 : [기초 - 출력 변환] 정수 입력받아 아스키 문자로 출력하기
문제 설명 : https://codeup.kr/problem.php?id=1037
1036의 반대되는 유형의 문제다.
- 10진수 정수를 입력받는다.
- 아스키 문자로 출력한다.
#include <stdio.h>
int main()
{
int x;
scanf("%d", &x);
printf("%c", x);
return 0;
}
'CodeUp 기초 100제 > C' 카테고리의 다른 글
CodeUp[코드업] C언어 1047 ~ 1052 : [기초 - 시프트 연산] ~ [기초 - 비교 연산] (0) | 2019.12.08 |
---|---|
CodeUp[코드업] C언어 1038 ~ 1046 : [기초 - 산술 연산] (0) | 2019.12.08 |
CodeUp[코드업] C언어 1020 ~ 1027 : [기초 - 입출력] (0) | 2019.12.05 |
CodeUp[코드업] C언어 1010 ~ 1019 : [기초 - 입출력] (0) | 2019.12.05 |
CodeUp[코드업] C언어 1001 ~ 1008 : [기초 - 출력] (0) | 2019.12.04 |
댓글