比上次的代码更加完善
通过一个for循环,比较相邻两个元素,做交换 把最大的元素换到数组的最后一个位置
#include <stdio.h>
int main(){
//从键盘输入5个数,从小到大排序,输出
int arr[5];
for(int i = 0;i<5;i++){
scanf("%d",&arr[i]);
}
//通过一个for循环,比较相邻两个元素,做交换
//把最大的元素换到数组的最后一个位置
for(int i = 0;i<4;i++){
//假设没有交换
int isSwitch = 0;
for(int j =0;j<4-i;j++){
if(arr[j]>arr[j+1]){
int temp= arr[j];
arr[j] = arr[j+1];
arr[j+1]=temp;
isSwitch = 1;
}
}
//如果一次交换就没有发生,说明已经有序,就不用再循环
if(isSwitch==0){
break;
}
for(int k = 0;k<5;k++){
printf("%d",arr[k]);
}
printf("\n");
}
}