c语言排序的升级

28 阅读1分钟

image.png

#include <stdio.h>

int main(){
	
	int arr[5] ;
	
	for (int i=0;i<5;i++){
		scanf("%d", &arr[i]);
	}
	
    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;k<5;k++){
		    printf("%d ", arr[k]);
	    }
	printf("\n");
    }
	return 0;
}