函数应用实例004

写一函数, 用“起泡法”对输入的10 个数字按由小到大的顺序排序。

方法一:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include <stdio.h>
int main()
{
    int sort();
    int a[10], k;
    printf("Pealse enter 10 integer number: \n");
    for(k=0; k<10; k++)
    {
        scanf("%d", &a[k]);
    }
    sort(a);
}
int sort(int * b)
{
    int t, i, j;
    for(j=0; j<9; j++)
    {
        for(i=0; i<9-j; i++)
        {
            if(b[i] > b[i+1])
            {
                t = b[i];
                b[i] = b[i+1];
                b[i+1] = t;
            }
        }
    }
    printf("The sorted numbers: \n");
    for(i=0; i<10; i++)
    {
        printf("%d", b[i]);
    }
    printf("\n");
}

方法二:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <stdio.h>
#define N 10
int main()
{
    int a[N], i, j;
    printf("please enter %d integer: \n", N);
    for(i=0; i<N; i++)
    {
        scanf("%d,", &a[i]);
    }
    for(i=0; i<N-1; i++)
    {
        for(j=0; j<(N-1)-i; j++)
        {
            if(a[j] > a[j+1])
            {
                a[j] ^= a[j+1];
                a[j+1] ^= a[j];
                a[j] ^= a[j+1];
            }
        }
    }
    printf("The sort of those integer is: \n");
    for(i=0; i<N; i++)
    {
        printf("%d,", a[i]);
    }
    return 0;
}