문제
16진수 수를 입력받아서 10진수로 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 16진수 수가 주어진다. 이 수의 최대 길이는 6글자이다. 16진수 수는 0~9와 A~F로 이루어져 있고, A~F는 10~15를 뜻한다. 또, 이 수는 음이 아닌 정수이다.
출력
첫째 줄에 입력으로 주어진 16진수 수를 10진수로 변환해 출력한다.
예제 입력 1
A |
예제 출력 1
10 |
더보기
Solution
#include<stdio.h>
#include<string.h>
#include<ctype.h>
int main(void)
{
char hex[7]={'\0', };
int dec=0;
scanf("%s", hex);
for(int i=0;i<strlen(hex);i++)
{
dec*=16;
dec+=isdigit(hex[i])?hex[i]-'0':hex[i]-'A'+10;
}
printf("%d\n", dec);
return 0;
}
728x90
'백준 알고리즘' 카테고리의 다른 글
<백준 알고리즘> 14720번: 우유 축제 (0) | 2020.10.11 |
---|---|
<백준 알고리즘> 17388번: 와글와글 숭고한 (0) | 2020.10.11 |
<백준 알고리즘> 1920번: 수 찾기 (0) | 2020.10.09 |
<백준 알고리즘> 14916번: 거스름돈 (0) | 2020.09.30 |
<백준 알고리즘> 20004번: 베스킨라빈스 31 (0) | 2020.09.30 |