How to sort the digits of a number in ascending order with C

1 Answer

0 votes
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int compare_function(const void* a, const void* b) {
    return strcmp((const char*)a, (const char*)b);
}

int main() {
    int num = 368275;
    char str[8] = "";

    sprintf(str, "%d", num);

    puts(str);

    qsort(str, strlen(str), sizeof(char), compare_function);
    
    int n = strtol(str, NULL, 10);
 
    printf("%d\n", n);
    
    return 0;
}



/*
run:

368275
235678

*/

 



answered Jan 19, 2024 by avibootz

Related questions

1 answer 115 views
1 answer 69 views
1 answer 69 views
1 answer 132 views
...