绝对值排序问题,不知道那里不对

问题遇到的现象和发生背景
用代码块功能插入代码,请勿粘贴截图
我想要达到的结果

img


绝对值排序问题,为啥我最后一个数输出的是0啊

你这种排序方法逻辑上是错误的,另外当i=n-1时,a[i+1]就越界了,你可以参考一下冒泡排序算法:其中n表示排序的个数

 
for (i = 0; i< n - 1; i++)  //比较n-1轮
    {
        for ( j = 0; j< n - 1 - i; j++)  //每轮比较n-1-j次,
        {
            if (a[j] > a[j+1]) //从小到大
            {
                temp = a[j];
                a[j] = a[j+1];
                a[j+1] = temp;
            }
        }
    }