117. Convert Integer to String

Back To All Submissions
Previous Submission
Next Submission

Code

#include <stdio.h>

void print_integer_as_string(int num) {
    // 1. Find LS int (num % 10)
    // 2. Convert int to string CHAR CAST (+'0' / +48)
    // 3. Put into a char array
    // 4. Remove LS int (num / 10)
    // 5. Print reversed char array

    char str[20] = {};
    int i=0;
    int sign=1;
    //Check for 0 condition
    if(num == 0){
        printf("0");
        return;
    }
    //Check if negative
    if(num < 0){
        sign = -1;
    }
    while(num){
        int ls_digit = sign * (num % 10);
        char ls_char = ls_digit + '0'; //Cast int to char (ASCII)
        str[i++] = ls_char;
        num /= 10;
    }
    //Print sign
    if(sign == -1){
        printf("- ");
    }
    //Print reversed array
    for(int j=0;j<i;j++){
        printf("%c ",str[i-j-1]);
    }
}

int main() {
    int num;
    scanf("%d", &num);
    print_integer_as_string(num);
    return 0;
}

Solving Approach

 

 

 

Was this helpful?
Upvote
Downvote