#include <stdio.h> #include <stdint.h> void print_hex(uint16_t num) { char hex[5]; // max 4 hex digits + null terminator int i = 0; if (num == 0) { putchar('0'); return; } while (num > 0) { uint8_t digit = num & 0xF; // extract last 4 bits (hex digit) if (digit < 10) hex[i++] = '0' + digit; else hex[i++] = 'A' + (digit - 10); num >>= 4; // move to next nibble } // print in reverse order while (i > 0) { putchar(hex[--i]); } } int main() { uint16_t num; scanf("%hu", &num); print_hex(num); return 0; }
Test Cases
Test Results
Input
255
Expected Output
FF