问题:
1.没写while循环
2.没想到把x,y添加进主函数里
//int is_panduan(int arr[4][5], int k, int hang, int lie)
//{
// int x = 0;
// int y = lie - 1;
// while (x < hang && y < lie)
// {
// if (arr[x][y] > k)
// {
// y--;
// }
// else if (arr[x][y] < k)
// {
// x++;
// }
// else
// {
// return 1;
// }
// }
// return 0;
//}
int is_panduan(int arr[4][5], int k, int* hang, int* lie)
{
int x = 0;
int y = *lie - 1;
while (x < *hang && y < *lie)
{
if (arr[x][y] > k)
{
y--;
}
else if (arr[x][y] < k)
{
x++;
}
else
{
*hang = x;
*lie = y;
return 1;
}
}
return 0;
}
int main()
{
int arr[4][5] = { {1,2,3,4,5},{4,5,6,7,8},{5,6,7,8,9},{6,7,8,9,10} };
int k = 3;
int x = 4;
int y = 5;
if (is_panduan(arr, k, &x, &y) == 1)
{
printf("y\n");
printf("x=%d,y=%d", x, y);
}
else
{
printf("n\n");
}
return 0;
}