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