C语言取出一个十进制正整数中的所有奇数数字,用这些数字构成一个最小数

C语言取出一个十进制正整数中的所有奇数数字,用这些数字构成一个最小数

供参考!

#include<stdio.h>

int main(void)
{
    unsigned a, b, arr[20] = { 0 }, i = 0;

    scanf("%u", &a);
    while (a)
    {
        if ((b = a % 10) % 2 != 0)
            arr[i++] = b;
        a /= 10;
    }

    unsigned t;
    for (int j = 0; j < i - 1; j++)
    {
        for (int k = 0; k < i - j - 1; k++)
        {
            if (arr[k] > arr[k + 1])
            {
                t = arr[k];
                arr[k] = arr[k + 1];
                arr[k + 1] = t;
            }
        }
    }

    for (int j = 0; j < i; j++)
        printf("%d", arr[j]);
    puts("");

    return 0;

}