找杨氏矩阵的数字

问题:

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;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值