问答详情
源自:6-12 综合练习

请问我这个问题出在哪里?排序出来的数是乱的

int Descending(int score[])

{

    int l,m,n;

    for(l=9;l>0;l--)

    {

        for(m=0;m<l;m++)

        {

            if(score[m]<score[m+1])

                n=score[m+1];

                score[m+1]=score[m];

                score[m]=n;

        }

    }

    return 0;

}

int main()

{

    int o;

    int score[10]={67,98,75,63,82,79,81,91,66,84};

    printf("Total score:%d\n",total(score));

    printf("Maximum:%d\n",Maximum(score));

    printf("minimum:%d\n",Minimum(score));

    printf("Average:%d\n",Average(score));

    printf("Descending:");

    Descending(score);

    for(o=0;o<10;o++)

    {

        printf("%d,",score[o]);

    }    

    return 0;


提问者:慕尼黑4143138 2020-11-29 20:12

个回答

  • bb1234
    2022-02-10 14:27:44

    for(i=N-1-1;i>=0;i--)//冒泡排序

    {

        for(j=0;j<=i;j++)//前一个与后一个比较,直到最后

        {

            if(score[j]<score[j+1])//前一个小于后一个则进行交换

             {

                 temp=score[j];

                 score[j]=score[j+1];

                 score[j+1]=temp;

             }            

        }       

    }