본문 바로가기
CodeUp 기초 100제/C

CodeUp[코드업] C언어 1028 ~ 1037 : [기초 - 데이터형] ~ [기초 - 출력 변환]

by En_Geon 2019. 12. 7.

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;
}

댓글