#include <stdio.h> #include <stdint.h> void print_hex(uint16_t num) { // Your logic here char buff[5]; int idx = 0; if(num == 0){ printf("0"); } else { while(num > 0){ uint16_t digit = num % 16; if(digit >=0 && digit <= 9){ buff[idx++] = '0' + digit; }else if(digit >= 10 && digit <= 15){ buff[idx++] = 'A' + (digit - 10); } num /= 16; } buff[idx] = '\0'; } for(int i=idx-1;i>=0;i--){ printf("%c",buff[i]); } } int main() { uint16_t num; scanf("%hu", &num); print_hex(num); return 0; }
Test Cases
Test Results
Input
255
Expected Output
FF