#include <stdio.h>
#include <stdint.h>
void print_hex(uint16_t num) {
// Your logic here
char hex[5];
int i;
for(i=3;i>=0;i--)
{
int digit=num&0xf;
if(digit<10)
hex[i]='0'+digit;
else
hex[i]='A'+digit-10;
num>>=4;
}
hex[4]=0;
int start=0;
while(start < 3 && hex[start]=='0')
start++;
printf("%s\n",&hex[start]);
}
int main() {
uint16_t num;
scanf("%hu", &num);
print_hex(num);
return 0;
}
char hex[5];
int i;
for(i=3;i>=0;i--)
{
int digit=num&0xf;
if(digit<10)
hex[i]='0'+digit;
else
hex[i]='A'+digit-10;
num>>=4;
}
hex[4]=0;
int start=0;
while(start < 3 && hex[start]=='0')
start++;
printf("%s\n",&hex[start]);
Input
255
Expected Output
FF