请问各位,C语言,求一组数列的极差,我的代码错在哪,应该怎么改呢


#include <stdio.h>

/*********  Begin  **********/
void mp_sort(int *c,int n);
void main()
{
    int i,n,b[100],max,min,num;
    scanf("%d",&num);
    int a[num+1];
    for (i=1;i<=num;i++)
        scanf("%d",&a[i]);
    mp_sort(a,num);
    min=a[num-1];
    for(i=2;i<=num;i++)
    {
        min=min*a[num-i]+1;
    }
    for(i=0;i<num;i++)
    {
        a[i+1]=a[i]*a[i+1]+1;
        mp_sort(a,num);
    }
    max=a[num-1];
    printf("Max=max-min=%d-%d=%d",max,min,max-min);
}
void mp_sort(int *c,int n)
{
    int i,j,item;
    for(i=0;i<n;i++)
    {
        for(j=i+1;j<n;j++)
        {
            if(c[i]>c[j])
            {
                item=c[i];
                c[i]=c[j];
                c[j]=item;
            }
        }
    }
}
/*********  End **********/

void mp_sort(int c,int n)
{
int i,j,item;
for(i=0;i<n;i++)应该是i<n-1吧
{
for(j=i+1;j<n;j++)
{
if(c[i]>c[j])
{
item=c[i];
c[i]=c[j];
c[j]=item;
}
}
}
}
/
*