思路:
答案:
#define _CRT_SECURE_NO_WARNINGS 1
#define X 3 //代表杨氏矩阵的行数
#define Y 3 //代表杨氏矩阵的列数
#include<stdio.h>
int find(int arr[X][Y], int i, int j, int key)
{
int hang = 0;
int lie = j-1;
while (hang < i && lie >= 0)
{
if (arr[hang][lie] > key)
{
lie--; //排除这一列
}
else if (arr[hang][lie] < key)
{
hang++; //排除这一行
}
else //找到了
{
return 1;
}
}
return 0; //没有找到
}
int main()
{
int arr[X][Y] = { {1,2,3},{4,5,6},{7,8,9} };
int key = 0;
scanf("%d", &key);
int ret = find(arr, X, Y, key);
if (ret)
{
printf("找到了\n");
}
else
{
printf("没有找到\n");
}
return 0;
}