pumkinnnan 2021-12-14 10:47 采纳率: 100%
浏览 24
已结题

输入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]);    
}

```

  • 写回答

2条回答 默认 最新

  • qzjhjxj 2021-12-14 11:01
    关注

    供参考:

    #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;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 12月22日
  • 已采纳回答 12月14日
  • 创建了问题 12月14日