输入10个数按由大到小的顺序排序输出,导为什么没有输出?



```c
#include<stdio.h>
main()
{
    int n=10,i,j,k,num[i];
    printf("please input 10 numbers:");
    for(i=0;i<10;i++);
    scanf("%d",&num[i]);
    for(i=9;i>=1;i--)
    {
        k=0;
        for(j=1;j<=i;j++)
        if(num[j]<num[k])
        k=j;
        if(k!=i)
        {
            int t;
            t=num[i];num[i]=num[k];num[k]=t;
        }
    }
    printf("\n impress the result of sort:");
    for(i=0;i<10;i++)
    printf("%d",num[i]);    
}

```

供参考:

#include<stdio.h>
int main()
{
    const int n = 10;     //修改
    int i, j, k, num[n];  //num[i]; 修改
    printf("please input 10 numbers:");
    for (i = 0; i < 10; i++)    //; 这里多了';'
        scanf("%d", &num[i]);
    for (i = 9; i >= 1; i--)
    {
        k = 0;
        for (j = 1; j <= i; j++)
            if (num[j] < num[k])
                k = j;
        if (k != i)
        {
            int t;
            t = num[i]; num[i] = num[k]; num[k] = t;
        }
    }
    printf("\n impress the result of sort:");
    for (i = 0; i < 10; i++)
        printf("%d ", num[i]);
    return 0;
}

第九行后面多了一个分号
另外排序的逻辑也有问题