12.4 C++ 打印排序

67 阅读1分钟

1.打印输出排序

#include <stdio.h>

int main() {
	// 从键盘上输入5个数字,并对他们进行排序(从小到大排序),再打印输出 
//  类型 数组名【个数】
	int arr[5];
	
	//从键盘上输入5个数
	for(int i=0; i<5;i++){
		scanf("%d", &arr[i]); 
	} 
	
	for(int i= 0;i<4;i++){
		for(int j = 0;j<4;j++){
                        // 把大的放在后面
			if(arr[j] > arr[j+1]){
				int temp = arr[j];
				arr[j] = arr[j+1];
				arr[j+1] = temp;
			}
		}
	}
	printf("-----------------------\n");
	
	// 打印输出
	for(int i=0;i<5;i++){
		scanf("%d\n",&arr[i]);
	}
}

2.排序

# include <stdio.h>

int main5(){
	
	int arr[5] = {5,3,2,6,4};
	
	//排序: 2,3,4,5,6
	
	//1. 交换数组中两个元素的值!
	// {5,3,2,6,4}
	// 把下标为0的元素, 和下标为1的元素交换一下位置? {3,5,2,6,4}
	
	//printf("%d", arr[0]);
	
	//int temp = arr[0]; // temp = 5;
	
//	arr[0] = arr[1]; // arr[0] = 3;
	
//	arr[1] = temp; // arr[1] = 5
	
//	printf("%d", arr[0]);
//	printf("%d", arr[1]);
//}

	// 2. 通过比较相邻元素的大小,并交换,把最大值放在数组的最后面
	for(int i = 0;i<4;i++){
			for(int j =0; j<4;j++){
				if(arr[j] > arr[j+1]){
					int temp = arr[j];
					arr[j] = arr[j+1];
					arr[j+1] = temp;
		}
	} 
}

	
	for(int i=0;i<5;i++){
		printf("%d", arr[i]);
	} 
}

image.png