n个选手m个评委 去掉最高最低分后算平均数 并用平均数排序

帮忙看看哪里有什么问题
最后能出结果但是结果很奇怪🥺
谢谢大家!!
#include
int main()
{
int n,m,j,i,max,min,sum;
float ave,x,t;
printf("请输入选手的个数");
scanf("%d",&n);
printf("请输入评委的个数");
scanf("%d",&m);
int s[n][m];
float a[1][n];
for(i=0;i
{
for(j=0;j
{
scanf("%d",&s[i][j]);
}
}
for(i=0;i
{
max=s[i][0];
min=s[i][0];
sum=0;
ave=0;
for(j=0;j
{
if(max
{
max=s[i][j];
}
if(min>s[i][j])
{
min=s[i][j];
}
sum=sum+s[i][j];
}
sum=sum-max-min;
ave=sum/(m-2.0);
a[1][i]=ave;
}
for(i=0;i
{
a[0][i]=i;
}
for(i=0;i
{
for(j=i+1;j
{
if(a[1][i]>a[1][j])
{
t=a[1][i];a[1][i]=a[1][j];a[1][j]=t;
x=a[0][i];a[0][i]=a[0][j];a[0][j]=x;
}
}
}
for(i=0;i
{
printf("第%d位选手的成绩是%.2lf\n",(int)(a[0][i])+1,a[1][i]);
}
}

for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
都说了n个选手,n个评委,为何第二个循环还是j<n呢?