请问各位,C语言,求一个数列的极差,我代码错在哪,该怎么修改呢,输出结果老是错误

img


#include <stdio.h>
/*********  Begin  **********/
void mp_sort(int *c,int p);
void main()
{
    int k,i,n,b[100],max,min,num;
    scanf("%d",&num);
    int a[num];
    for (i=0;i<num;i++)
        scanf("%d",&a[i]);
    for(i=0;i<num;i++)
    {
        b[i]=a[i];
    }
    mp_sort(a,num);
    mp_sort(b,num);
    for(i=1;i<num;i++)
    {
        for(k=1;k<num;k++)
        {
        a[1]=a[0]*a[1]+1;
        a[0]=0;
        a[k-1]=a[k];
        mp_sort(a,num);
        }
    }
    max=a[0];
    for(i=1;i<num;i++)
    {
        for(k=1;k<num;k++)
        {
        b[num-2]=b[num-2]*b[num-1]+1;
        b[num-1]=0;
        b[k+1]=b[k];
        mp_sort(b,num);
        }
    }
    min=b[num-1];
    n=max-min;
    printf("Max=max-min=%d-%d=%d",max,min,n);




}
void mp_sort(int *c,int p)
{
    int i,j,item;
    for(i=0;i<p;i++)
    {
        for(j=i+1;j<p;j++)
        {
            if(c[i]>c[j])
            {
                item=c[i];
                c[i]=c[j];
                c[j]=item;
            }
        }
    }
}
/*********  End **********/


单步调试,看看
打断点。你可以的