C语言:求解决一道c指针问题

题目内容:

从键盘输入10个整型数据存入一维数组a,用指针方法,将一维数组int a[10] 中元素按从小到大顺序输出。

输入格式:

10个整数,用空格隔开

输出格式:

排序后的10个数,空格隔开

输入样例:

9 1 7 2 4 6 5 3 0 8[回车]

输出样例:

0 1 2 3 4 5 6 7 8 9[空格]



#include<stdio.h>
#pragma warning(disable:4996)


void BubbleSort(int* array, int len) {
    int tmp = 0;
    for (int i = 0; i < len - 1; i++) {
        for (int j = 0; j < len - 1 - i; j++) {
            if (*(array+j) > *(array+j+1)) {
                tmp = array[j];
                *(array + j) = *(array + j + 1);
                *(array + j + 1) = tmp;
            }
        }
    }

}

int main() {
    int a[10] = { 0 }, i = 0;
    for (; i < 10; i++)
    {
        scanf("%d", &a[i]);
    }
    BubbleSort(a, 10);
    for (i = 0; i < 10; i++)
    {
        printf("%d ", a[i]);
    }
}

img

用冒泡排序