这段代码试图实现一个排序函数,但存在多个逻辑错误。主要问题在于排序算法本身和主函数中的输入方式。 - 内层循环 `for(int j=i-1;j>i;j--)` 的条件 `j>i` 永远不会成立,因为 `j` 从 `i-1` 开始,而 `i-1` 已经小于 `i`,所以循环体一次都不会执行。你需要重新设计内层循环的逻辑,让它能正确比较和交换元素。 - 主函数中 `scanf` 的格式字符串写成了固定的数字序列,这不会从标准输入读取数据。`scanf` 的格式字符串应该用 `%d` 等转换说明符来匹配输入,而不是直接写数值。你需要修改 `scanf` 的调用方式,或者考虑用其他方式初始化数组。