这段代码试图做两件事:先读取一个整数并统计它的位数,然后创建一个数组并尝试进行排序,最后输出数组。但代码存在几个问题。 首先,统计位数后,你创建了数组 `a[count]`,但数组中的元素并没有被初始化,也就是说数组里存的是随机值。你只是声明了数组,但没有把数字的每一位放进去。 其次,排序部分的逻辑有误。你写的是 `if(a[i]<a[j])`,这表示如果当前元素小于后面的元素就交换,这是降序排序的条件。但你的变量名 `num_min` 暗示你想找最小值,这里逻辑不一致。另外,你只比较了 `a[i]` 和 `a[j]`,而不是用 `num_min` 来记录真正的最小值位置。 - 你需要先把数字的每一位提取出来存入数组,比如用循环和取余运算。 - 排序时,注意选择排序的正确写法:应该用 `a[num_min]` 与 `a[j]` 比较,而不是 `a[i]` 与 `a[j]` 比较。