//一个二维数组B[m][n],每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序,给一个数x,要求用不多于m+n次的比较次数找出该数的所在行和列
void fun(int B[][5], int x)
{
int i = 0, j = 0, flag = 1;
if (x > B[3][4] || x < B[0][0])
{
printf("%d不存在\n", x);
return;
}
while (i < 4)
{
if (B[i][0] > x)
{
break;
}
i++;
}
i--;
printf("%d\n", i);
for (j = 0; j < 5; ++j)
{
if (B[i][j] == x)
{
flag = 0;
break;
}
else if (B[i][j] > x)
{
i--;
j = 0;
}
}
if (flag == 1)
{
printf("%d不存在\n", x);
}
else
{
printf("B[%d][%d]=%d\n", i, j, x);
}
}
11-21
590

04-22
769

08-01
2076

07-12
2689

09-01
2261
