#include <stdio.h> #include <stdint.h> void print_hex(uint16_t num) { int leading = 1; // Used to skip leading zeros for (int i = 12; i >= 0; i -= 4) { uint8_t digit = (num >> i) & 0xF; if (digit || !leading || i == 0) { putchar(digit < 10 ? ('0' + digit) : ('A' + digit - 10)); leading = 0; } } } int main() { uint16_t num; scanf("%hu", &num); print_hex(num); return 0; }
Test Cases
Test Results
Input
255
Expected Output
FF