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