pta显示运行时错误,但是其他都正确,这怎么解决呢

img


int main()
{
int max,min,i;
int a[X];
int N;
int t1,t2,t;
scanf("%d",&N);
for(i=0;i<N;i++)
{
scanf("%d",&a[i]);
}
min=a[0];
for(i=1;i<N;i++)
{
if(a[i]<min)
{
min=a[i];
t1=i;
}
}
t=a[0];
a[0]=a[t1];
a[t1]=t;

  max=a[0];
for(i=1;i<N;i++)
{
    if(a[i]>max)
    {
        max=a[i];
        t2=i;
    }
}
  t=a[N-1];
  a[N-1]=a[t2];
  a[t2]=t;

for(i=0;i<N;i++)
{
    printf("%d ",a[i]);
}
return 0;
}

int a[X];这种写法早期版本不支持,改用malloc。

是不是要添加判断输入N要<=10