关于#二维数组冒泡排序#的问题,如何解决?

#include
void bubble_sort(int a[],int n)
{
int i,j,t;
for (i=0;i
{
for (j=0;j
{
if(a[j] > a[j+1]) //从小到大,升序
{
t = a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}
}
int main()
{
int a[6][4],i,j,h;

printf("请输入插入班级的小朋友身高:");
scanf("%d",&h);
for (i=0;i<5;i++)
{
    for (j=0;j<4;j++)
    {
        if(a[i][j] >= h)
            break;
    }
}
if(j == 5)
    printf("第6行第1列\n");
else
    printf("第%d行第%d列\n",i+1,j+1);
    return 0;
}

为什么无论输入什么,输出来都是第六列第三行?

首先,你没有输入数组数据
其次,你没有调用排序函数
然后你的break只是跳出内层循环,并没有跳出外层循环
另外,明明是a[6][4],但为啥for循环外层只有i<5,内层确是j<4呢?

int a[6][4]定义了并没有初始化,里面的内容是不确定的。你的电脑上可能永远出来的是 第六列第三行,其他人电脑上运行的可能是第六列第四行都有可能