【题目描述】
编程输入n(1≤n≤20)个小于1000非负整数,然后自动按从大到小的顺序输出。(冒泡排序)
【输入】
第一行,数的个数n;
第二行,n个非负整数。
【输出】
由大到小的n个非负整数,每个数占一行。
【输入样例】
5
2 5 8 6 12
【输出样例】
12
8
6
5
2
代码实现
cpp
#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;
}