C语言数组排序问题求指导

1)从键盘输入一个正整数(不多于5位),计算该正整数与789之和(记为sum);
(2)将整数sum各个位拆分到数组a中;
(3)数组a从小到大排序;
(4)将排序后的数组a组成一个值为最小的整数(记为min);
(5)输出min及其位数(两数中间以空格分隔)。

麻烦列位大神看看哪里错了,输出不出值

#include
#include
int main(void){
int x,j,i,sum,t,d,count,index;
int a[10];

    scanf("%d",&x);
    sum=x+789;
    i=0;
count=0;
    while(sum>0){
        d=sum%10;
        a[i]=d;
        i++;
        sum=sum/10;
        count++;}
        for (i=0;i<count-1;i++){
            index=i;
        for(j=i+1;j<count;i++)
           if(a[index]>a[j]) index=j;
               t=a[index];
              a[index]=a[i];
               a[i]=t;
            }

        for(i=0;i<count;i++){
            printf("%d",a[i]);}
            printf("  %d",count);

            return 0;
        }
  • 排序的时候内循环应该是j++写成i++了

for(j=i+1;j if(a[index]>a[j]) index=j;

            这里的 i++ 应该是 j++ 
// Q186004.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include <stdio.h>
#include <math.h>
#include <stdlib.h>

int arr[10];

int cmp(const void* a, const void* b)
{
    return *(int *)a - *(int *)b;
}

int main(int argc, char* argv[])
{
    int input = 0, sum = 0;
    scanf("%d", &input);
    sum = 789 + input;
    printf("sum=%d\nbefore sort", sum);

    int arrlen = (int)log10(sum) + 1;
    for (int sum1 = sum, int i = arrlen - 1; i >=0; i--)
    {
        arr[i] = sum1 % 10;
        sum1 /= 10;
    }
    for (i = 0; i < arrlen; i++)
        printf("arr[%d]=%d\t", i, arr[i]);
    printf("\naftersort");
    qsort(arr, arrlen, sizeof(int), cmp);
    for (i = 0; i < arrlen; i++)
        printf("arr[%d]=%d\t", i, arr[i]);
    printf("\n");
    if (arr[0] == 0)
    {
        int j = 1;
        while (arr[j] == 0 && j < arrlen - 1) j++;
        arr[0] = arr[j];
        arr[j] = 0;
    }
    int min = 0;
    for (i = 0; i < arrlen; i++)
    {
        min *= 10;
        min += arr[i];
    }
    printf("min=%d %d\n", min, arrlen);
    return 0;
}

 1234
sum=2023
before sortarr[0]=2     arr[1]=0        arr[2]=2        arr[3]=3
aftersortarr[0]=0       arr[1]=2        arr[2]=2        arr[3]=3
min=2023 4
Press any key to continue


4511
sum=5300
before sortarr[0]=5     arr[1]=3        arr[2]=0        arr[3]=0
aftersortarr[0]=0       arr[1]=0        arr[2]=3        arr[3]=5
min=3005 4
Press any key to continue


155
sum=944
before sortarr[0]=9     arr[1]=4        arr[2]=4
aftersortarr[0]=4       arr[1]=4        arr[2]=9
min=449 3
Press any key to continue

55555
sum=56344
before sortarr[0]=5     arr[1]=6        arr[2]=3        arr[3]=4        arr[4]=4
aftersortarr[0]=3       arr[1]=4        arr[2]=4        arr[3]=5        arr[4]=6
min=34456 5
Press any key to continue