Bootstrap

2039:【例5.6】冒泡排序

【题目描述】

编程输入n(1≤n≤20)个小于1000非负整数,然后自动按从大到小的顺序输出。(冒泡排序)

【输入】

第一行,数的个数n;

第二行,n个非负整数。

【输出】

由大到小的n个非负整数,每个数占一行。

【输入样例】

5
2 5 8 6 12

【输出样例】

12
8
6
5
2

代码实现

#include <stdio.h>

/*
	2039:【例5.6】冒泡排序
*/
int main() {
    // 定义一个整型数组
    int arr[20];
	int i,j,n,t;
	scanf("%d",&n);
	//输入n个整数
	for(i=0;i<n;i++){
		scanf("%d",&arr[i]);
	}
	//冒泡排序
	for(i=0;i<n;i++){
		for(j=0;j<n-i-1;j++){
			//当前一个数小于后一个数,进行互换
			if(arr[j]<arr[j+1]){
				t = arr[j];
				arr[j] = arr[j+1];
				arr[j+1] = t;
			}
		}
	}

	//数组遍历显示
	for(i=0;i<n;i++){
		printf("%d ",arr[i]);
	}

    return 0;
}

;