#include <stdio.h> #include <stdint.h> void print_hex(uint16_t num) { char str[6]; int i; char tmp; char *literals = "0123456789ABCDEF"; if(!num) { str[0] = '0'; str[1] = '\0'; printf("%s", str); return; } i = 0; while(num) { str[i++] = literals[num % 16]; num /= 16; } str[i] = '\0'; int j = 0; while(j < i) { tmp = str[--i]; str[i] = str[j]; str[j++] = tmp; } printf("%s", str); } int main() { uint16_t num; scanf("%hu", &num); print_hex(num); return 0; }
Test Cases
Test Results
Input
255
Expected Output
FF