#include <stdio.h> #include <stdint.h> void print_hex(uint16_t num) { // Your logic here char hex[5]; int i; for(i=3;i>=0;i--) { int digit=num&0xf; if(digit<10) hex[i]='0'+digit; else hex[i]='A'+digit-10; num>>=4; } hex[4]=0; int start=0; while(start < 3 && hex[start]=='0') start++; printf("%s\n",&hex[start]); } int main() { uint16_t num; scanf("%hu", &num); print_hex(num); return 0; }
char hex[5]; int i; for(i=3;i>=0;i--) { int digit=num&0xf; if(digit<10) hex[i]='0'+digit; else hex[i]='A'+digit-10; num>>=4; } hex[4]=0; int start=0; while(start < 3 && hex[start]=='0') start++; printf("%s\n",&hex[start]);
Test Cases
Test Results
Input
255
Expected Output
FF