排序(更新版)

31 阅读1分钟

更新后

#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++){
	    	//j,j+1
		   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;i<5;k++){
	    	printf("%d",arr[k]);
	    }
      	printf("\n");
    }
}

编译

image.png