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 ;
}
这是冒泡排序法。
外层循环表示第几轮排序,内层排序表示当前轮数第几次排序。
第一轮从第一个元素到倒数第二个元素,相邻的元素作比较,如果前面一个大,交换两数的位置,以此类推。结束之后,最大的数已经找出来并放到最后一位了。
第二轮从第一个元素到倒数第三个元素,相邻的元素作比较,如果前面一个大,交换两数的位置,以此类推。结束之后,最大的数已经找出来并放到倒数第二位了。
。。。。。。