100제 [기초 - 출력변환] 1031~1037

  1. 10진수를 입력받아 8진수(octal)로 출력해보자.
#include <stdio.h>
int main()
{
    int x;
    scanf("%d",&x);
    printf("%o",x);
    return 0;
}

입력받을땐 10진수, 출력할땐 8진수이기때문에
scanf에서는 %d를 쓰고
printf에서는 %o를 씀

  1. 10진수를 입력받아 16진수(hexadecimal)로 출력해보자.
#include <stdio.h>
int main()
{
    int x;
    scanf("%d",&x);
    printf("%x",x);
    return 0;
}

마찬가지로 출력할때만 %x를 써주었다.
%X로쓰면 16진수의 알파벳 a~f가 대문자로 나옴

  1. 10진수를 입력받아 16진수(hexadecimal)로 출력해보자.
#include <stdio.h>
int main()
{
    int x;
    scanf("%d",&x);
    printf("%X",x);
    return 0;
}

위에서 설명한것 그대로

  1. 8진수로 입력된 정수 1개를 10진수로 바꾸어 출력해보자.
#include <stdio.h>
int main()
{
    int x;
    scanf("%o",&x);
    printf("%d",x);
    return 0;
}

8진수로 입력받고 싶으면 %o로 받으면됨

  1. 16진수로 입력된 정수 1개를 8진수로 바꾸어 출력해보자.
#include <stdio.h>
int main()
{
    int x;
    scanf("%x",&x);
    printf("%o",x);
    return 0;
}

16진수로 입력받고 싶으면 %x로 받으면됨

  1. 영문자 1개를 입력받아 아스키 코드표의 10진수 값으로 출력해보자.
#include <stdio.h>
int main()
{
    char x;
    scanf("%c",&x);
    printf("%d",x);
    return 0;
}

문자 1개를 받을때는 1byte밖에 안드는 char형을 사용하는게 가장효율적이다.
int로 안되는건 아니다.

  1. 10진 정수 1개를 입력받아 아스키 문자로 출력해보자.
    단, 0 ~ 255 범위의 정수만 입력된다.
#include <stdio.h>
main()
{
    int x;
    scanf("%d",&x);
    printf("%c",x);
    return 0;
}

정수를 입력하면 아스키코드에 맞는 문자가 나온다.
아스키코드는 C언어 문법 참고

좋은 웹페이지 즐겨찾기