/* * Prints an int in hexadecimal, in the proper order * */ #include <stdio.h> void print_hex(int x); int main(int argc, char *argv[]) { int x; scanf("%d", &x); print_hex(x); return 0; } void print_hex(int x) { int curr = 1; while(curr * 16 < x) curr *= 16; // or curr << 4 while(x) { int r = x / curr; if(r > 9) { printf("%c", 'a' + (r - 10)); } else { printf("%d", r); } x %= curr; curr /= 16; // or curr >> 4 } printf("\n"); }