思路
外循环和之前一样,每相邻两个数都比较,最小的就沉在最右边,内循环的范围一次一次减少。
代码,因为一个一个沉下去的就是排好的,相邻元素顺序错误我们就交换。
过程
代码
#include<stdio.h>
int main()
{
int a[100], i, n, j, temp, max, k;//n为需要排序的数的数量
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(i=0;i<n;i++)
{
for(j=0;j<n-1-i;j++)//一次外循环结束沉淀一个数比较的那些数就减少
if(a[j] < a[j+1])//后面一个数大于前面的则交换
{
temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
}
for(i=0;i<n;i++)
printf("%d ",a[i]);
}