编辑代码

#include <stdio.h>
int qusort(int s[],int lo,int hi)//自定义函数qusort()
{
    int i,j;//定义变量为基本整型
    i=lo;//将每组首个元素赋给i
    j=hi;//将每组末尾元素赋给j 
    int temp;//设置基准值
    if(i < j){
        temp = s[i];
        while(i!= j){
            while(j>i && s[j]>=temp){
                j--;
            }
            s[i]= s[j];
            while(i <j && s[i]<=temp){
                i++;
            }
            s[j]= s[i];
             printf("--------------------------\n");
            printf("中间过程,i=%d,j=%d\n",i,j);
            for(int k = 0;k<10;k++){
                printf("%d ", s[k]);
            }
            printf("\n--------------------------\n");
        }
        s[i]= temp;
        qusort(s,lo,i-1);
        qusort(s,i+1,hi);
    }
    return 0;
}
int main()
{
    int a[10],i;//定义数组及变量为基本整型
    printf("请输入10个数:\n");
    for(i=0;i<10;i++)
        scanf("%d",&a[i]);//从键盘中输入10个要进行排序的数
    qusort(a,0,9);//调用qusort()函数进行排序
    printf("排序后的顺序是:\n");
    for(i=0;i<10;i++)
        printf("%d ",a[i]);//输出排好序的数组
    printf("\n");
    return 0;
}