C语言

49 阅读2分钟

排序

交换数组中两个元素的值

把下标为0的元素,和下标为1的元素交换一下位置

#include<stdio.h>
int main(){
	
	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} 
	

	
	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]);
}

image.png

#include <stdio.h>
int main(){
	// 从键盘上输入10个数字,并对他们进行排序(从小到大排序),再打印输出
//	 类型 数组名[个数] 
    int arr[5];
    // 打印输出 
    for(int i=0;i<5;i++){
    	scanf("%d",&arr[i]);
	}
	
	printf("------------------\n");
	
	// 打印输出 
    for(int i=0;i<5;i++){
    	printf("%d",arr[i]);
	} 
    
    
   
}

image.png

#include <stdio.h>
int main(){
	
	int arr[5] = {5,3,2,6,4};
	
	// 2.通过比较相邻元素的大小,并交换,把最大的值放在数组的最后面 
	

	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; 
	
		}
	
	}
	
	
}

从键盘上输入10个数字,并对它们进行排序

#include <stdio.h>
int main(){
	// 从键盘上输入10个数字,并对他们进行排序(从小到大排序),再打印输出
//	 类型 数组名[个数] 
    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++){
    	printf("%d\n",arr[i]);
	} 
    
}