按身高排序,插入一个小朋友,输出他的座位几行几列

不知道哪有问题了,最高的给排到1行1列了

#include 
int main()
{
int a[21];
int i,j,t,h,x;
int b[6][4];
printf("请输入二十个小朋友的身高\n");
for(i=0;i<20;i++)
    scanf("%d",&a[i]);
printf("\n");
printf("请输入新增小朋友的身高:");
scanf("%d",&x);//输入 
a[20]=x;
for(j=0;j<20;j++)
{

    for(i=0;i<20-j;i++)
        if(a[i]>a[i+1])
        {
            t=a[i];a[i]=a[i+1];a[i+1]=t;//升序排序 
        }
}
for(i=0;i<21;i++)
{
    for(j=1,h=1;j<4;j++)
        if(x==a[i])
            break; 
        if(j==4)
        {
            h=h+1;
            j=1;//求几排几列
        }
}
printf("%d行%d列",h,j);//输出 
    return 0;
}

25 行

for(j=1,h=1;j<4;j++)

要用 { } 把循环体扩起来,现在只执行了第一句。