需要理解的点:
1.需要比较多轮(数组长度-1)轮
2.每一轮比较的次数比上一轮-1次
(数组长度-1)-当前的轮数
代码:
#include <stdio.h>
#include <stdlib.h>
#define N 5
int main()
{
int i,j;
int temp;
int nums[N]={16,25,9,90,23};
//外层循环控制 轮数
for(i=0;i<N-1;i++)
{
//内层循环控制 每轮的比较次数
for(j=0;j<N-i-1;j++)
{
//如果当前值小于后面一个值,就交换
if(nums[j]<nums[j+1])
{
temp = nums[j];
nums[j] = nums[j+1];
nums[j+1]=temp;
}
}
}
printf("排序后的结果是:\n");
for(i = 0;i<N;i++)
{
printf("%d\n",nums[i]);
}
return 0;
}