#include
int main()
{
int n,i,j,t,k=0,h;
int a1[5][4];
for(i=0;i<5;i++)
{
for(j=0;j<4;j++)
{
printf("输入原有小朋友身高:");
scanf("%d",&a1[i][j]);
}
}
int a2[20];
for(i=0;i<5;i++)
{
for(j=0;j<4;j++)
{
a2[k]=a1[i][j];
k++;
}
}
//二维换一维数组
for(i=0;i<20-1;i++)
{
for(j=0;j<20-i-1;j++)
{
if(a2[j]>a2[j+1])
{
t=a2[j];
a2[j]=a2[j+1];
a2[j+1]=t;
}
}
}
int a3[6][4];
for(i=0;i<5;i++)
{
for(j=0;j<4;j++)
{
a3[i][j]=a2[i*4+j];
}
}
//一位换二维
for(i=0;i<5;i++)
{
for(j=0;j<4;j++)
{
printf("%d ",a3[i][j]);
}
printf("\n");
}
//输入插班生
printf("输入插班生:");
scanf("%d",&h);
for(i=0;i<5;i++)
{
for(j=0;j<4;j++)
{
if(a3[i][j]>=h)
break;
}
}
if(i==5)
printf("6行1列");
else if(i<5)
printf("%d行%d列",i+1,j+1);
}
改动处见注释,供参考:
#include<stdio.h>
int main()
{
int n, i, j, t, k = 0, h;
int a1[5][4];
for (i = 0; i < 5; i++)
{
for (j = 0; j < 4; j++)
{
printf("输入原有小朋友身高:");
scanf("%d", &a1[i][j]);
}
}
int a2[20];
for (i = 0; i < 5; i++)
{
for (j = 0; j < 4; j++)
{
a2[k] = a1[i][j];
k++;
}
}
//二维换一维数组
for (i = 0; i < 20 - 1; i++)
{
for (j = 0; j < 20 - i - 1; j++)
{
if (a2[j] > a2[j + 1])
{
t = a2[j];
a2[j] = a2[j + 1];
a2[j + 1] = t;
}
}
}
int a3[6][4];
for (i = 0; i < 5; i++)
{
for (j = 0; j < 4; j++)
{
a3[i][j] = a2[i * 4 + j];
}
}
//一维换二维
for (i = 0; i < 5; i++)
{
for (j = 0; j < 4; j++)
{
printf("%d ", a3[i][j]);
}
printf("\n");
}
//输入插班生
printf("输入插班生:");
scanf("%d", &h);
k = 0; //修改
for (i = 0; i < 5; i++)
{
for (j = 0; j < 4; j++)
{
if (a3[i][j] >= h)
{ //修改
k = 1; //修改
break;
} //修改
}
if (k) break; //修改
}
if (i == 5)
printf("6行1列");
else if (i < 5)
printf("%d行%d列", i + 1, j + 1);
}