为了账号安全,请及时绑定邮箱和手机立即绑定

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

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 回答

这是冒泡排序法。

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

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

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

。。。。。。

0 回复 有任何疑惑可以回复我~
#1

蒙上灰的梦想

还有,你这是升序排序,写错了
2021-04-28 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信