All submissions

Convert Integer to Hex String Without sprintf or itoa functions

Code

#include <stdio.h>
#include <stdint.h>

void print_hex(uint16_t num) {
    // Your logic here
     int a=0;
    char arr[4];
    char stra[4];
    while(true){
        if(num==0){
            if(a==0){
                arr[a]='0';
                printf("0");
            }
            break;
        }
        int rem=num%16;
        num=num/16;
        if(rem<10){
            arr[a]='0'+rem;
        }
        else{
            arr[a]='A'+(rem-10);
        }
        a++;
    }
    int b=0;
    for(int i=a-1;i>=0;i--){
        printf("%c",arr[i]);
        stra[b]=arr[i];
        b++;
    }
    //printf("\0");
    stra[b]='\0';
    //printf("%s",stra);
}

int main() {
    uint16_t num;
    scanf("%hu", &num);
    print_hex(num);
    return 0;
}

Solving Approach

 

 

 

Loading...

Input

255

Expected Output

FF