1 /* 冒泡法从小到大排序 */
2 #include <stdio.h>
3 int main(void)
4 {
5 int i, j, n, a[10];
6
7 scanf("%d", &n);
8
9 for ( i=0; i<n; i++ )
10 {
11 scanf("%d", &a[i]);
12 }
13
14 for ( i=0; i<n-1; i++ ) /* n-1 需要 长度-1 次的循环 */
15 {
16 for ( j=0; j<n-1-i; j++ ) /* n-1-i 经过i次循环以后,只比较n-i个数,后边i个元素不用再比较了 */
17 {
18 if ( a[j]>a[j+1] )
19 {
20 int temp = a[j+1];
21 a[j+1] = a[j];
22 a[j] = temp;
23 }
24 }
25 }
26
27 for ( i=0; i<n; i++ )
28 {
29 printf("%d", a[i]);
30 if ( i != n-1 )
31 {
32 printf(" ");
33 }
34 }
35
36 return 0;
37 }
/* 选择法从大到小排序 */
#include <stdio.h>
int main(void)
{
int i, j, n, a[10];
scanf("%d", &n);
for ( i=0; i<n; i++ )
{
scanf("%d", &a[i]);
}
for ( i=0; i<n; i++ ) /* 最前面的元素 */
{
for ( j=i+1; j<n; j++ ) /* 与后边的元素逐一比较 */
{
if ( a[j] > a[i] ) /* 后比前大,交换 */
{
int temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
for ( i=0; i<n; i++ )
{
printf("%d", a[i]);
if ( i != n-1 )
{
printf(" ");
}
}
return 0;
}