【题目描述】
编程输入n(1≤n≤20)个小于1000非负整数,然后自动按从大到小的顺序输出。(冒泡排序)
【输入】
第一行,数的个数n;
第二行,n个非负整数。
【输出】
由大到小的n个非负整数,每个数占一行。
【输入样例】
5
2 5 8 6 12
【输出样例】
12
8
6
5
2
【题目链接】
#include <stdio.h>
void bubble_sort(int *a, int n)
{
int i, j;
for (i = 0; i < n - 1; i++)
{
for (j = 0; j < n - i - 1; j++)
{
if (a[j] < a[j+1])
{
int temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
}
}
}
int main()
{
int n;
scanf("%d", &n);
int a[n], i;
for (i = 0; i < n; i++)
scanf("%d", &a[i]);
bubble_sort(a, n);
for (i = 0; i < n; i++)
printf("%d\n", a[i]);
return 0;
}