有没有大佬解释一下这个?我不太明白

来源:6-12 综合练习

慕斯5410128

2021-04-28 11:40

int d()

{

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

int x , y , z ;

for(x = 0 ; x < 9 ; x++)

{

for(y = 0 ; y < 9 - x ; y++ )

if(score[y] > score[y + 1])

{

z = score[y] ;

score[y] = score[y + 1] ;

score[y + 1] = z ;

}

}

printf("考试成绩降序如下:\n") ;

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

{

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

}

printf("\n\n") ;

return 0 ;


}


写回答 关注

1回答

  • 蒙上灰的梦想
    2021-04-28 14:55:59

    这是冒泡排序法。

    外层循环表示第几轮排序,内层排序表示当前轮数第几次排序。

    第一轮从第一个元素到倒数第二个元素,相邻的元素作比较,如果前面一个大,交换两数的位置,以此类推。结束之后,最大的数已经找出来并放到最后一位了。

    第二轮从第一个元素到倒数第三个元素,相邻的元素作比较,如果前面一个大,交换两数的位置,以此类推。结束之后,最大的数已经找出来并放到倒数第二位了。

    。。。。。。

    蒙上灰的梦想

    还有,你这是升序排序,写错了

    2021-04-28 14:56:58

    共 1 条回复 >

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926206 学习 · 20797 问题

查看课程

相似问题