冒泡法排序,11个数,如果第一个数为1,则将其中2到11的数升序,如果第一个数为0,则将2到11的数降序

img

哪儿错了 求解答!😭

循环里面的 i=0 ;j=0都改成 i=1;j=1 因为是从第二个数开始排序


#include <stdio.h>

int main()
{
    int a[11] = {1};
    int i, j;
    for (i = 1; i < 11; i++)
    {
        scanf("%d", &a[i]);
    }
    if (a[0] == 1)
    {
        for (i = 1; i <= 10; i++)
        {
            for (j = 1; j <= 10 - i; j++)
            {
                if (a[j] > a[j + 1])
                {
                    int temp = a[j];
                    a[j] = a[j + 1];
                    a[j + 1] = temp;
                }
            }
        }
    }
    else
    {
        for (i = 1; i < 10; i++)
        {
            for (j = 1; j < 10 - i; j++)
            {
                if (a[j] < a[j + 1])
                {
                    int temp = a[j];
                    a[j] = a[j + 1];
                    a[j + 1] = temp;
                }
            }
        }
    }
    for (i = 1; i < 11; i++)
    {
        printf("%d ", a[i]);
    }
    return 0;
}