寻帅哥美女回答一下下面这个编程代码

在不改变原始数据的情况下利用指针数组实现N个整数的升序排序,如下图所示:按指针数组元素下标递增顺序访问原始数据时得到升序排序结果。

要求:
(1)编写排序函数Sort,其中查找指向最小值的指针元素下标部分写成函数MinPos,指针交换部分写成函数Swap
(2)主函数定义一维数组和指针数组,并从键盘输入原始数据

int MinPos(int *p[])
{
    int min=*p[0],i;
    for (i=0;i<10;i++)
    {
        if(min>*p[i])
        {
            min=*p[i];
        }
    }
    return min;
}

int Swap(int *p[])
{
    for (int i=0;i<10;i++) {
        for (int j=0;j<9-i;j++) {
            if(*p[j]>*p[j+1])
            {
                int *tmp;
                tmp=p[j];
                p[j]=p[j+1];
                p[j+1]=tmp;
            }
        }
    }
    return 0;
}

int Sort(int *p[])
{
    Swap(p);
    return 0;
}

int main()
{
    int s[10];
    int *p[10];
    int min;
    for (int i=0;i<10;i++)
    {
        scanf("%d",&s[i]);
        p[i]=&s[i];
    }
    min=MinPos(p);
    Sort(p);
    printf("%d\n",min);
    for (int i=0;i<10;i++)
    {
        printf("%d",*p[i]);
    }
    printf("\n");
    for (int i=0;i<10;i++)
    {
        printf("%d",s[i]);
    }
}