#include <stdio.h> #include <stdint.h> char oct_to_hex(uint8_t n) { if (n<10) { return n + '0'; } else if (n < 16) { return n - 10 + 'A'; } } void print_hex(uint16_t num) { if (!num) { printf("0"); return; } char hex_str[5] = {0}; char *str = hex_str; while (num) { *str = oct_to_hex(num % 16); num /= 16; ++str; } for(int i = str - hex_str - 1; i >= 0; --i) { printf("%c", hex_str[i]); } } int main() { uint16_t num; scanf("%hu", &num); print_hex(num); return 0; }
Test Cases
Test Results
Input
255
Expected Output
FF