编辑代码

#include <stdio.h>
int insort(int arr[],int n)    /* 自定义函数 insort()*/
{
    int temp;
    for (int i = 1; i < n; i++) {
        // 寻找元素 arr[i] 合适的插入位置
        for( int j = i ; j > 0 ; j -- ){
            if( arr[j-1] > arr[j] ){
                temp = arr[j];
                arr[j] = arr[j-1];
                arr[j-1] = temp;
            }
        }
        printf("\n中间过程\n");
        for(int i=0;i<n;i++)
            printf("%5d",arr[i]); //将排序后的数组输出
        printf("\n");
    }
    return 0;
}

int main()
{
    int a[10],i;    //定义数组及变量为基木整甩
    printf("请输入10个数据:\n");
    for (i =0;i<10;i++)
        scanf("%d",&a[i]);    //接收从键盘输入的10个数据到数组a中
    printf("原始顺序:\n");
    for(i=0;i<10;i++)
        printf("%5d",a[i]);    //将未排序前的顺序输出
    insort(a, 10);    //调用自定义函数 insort()
    printf("\n 插入数据排序后顺序:\n");
    for(i=0;i<10;i++)
        printf("%5d",a[i]); //将排序后的数组输出
    printf("\n");
    return 0;
}