C语言进阶之旅 (每日一题)杨氏矩阵
作者:互联网
- 这个杨氏矩阵是每行每列都在递增,
- 其实这个杨氏矩阵还是挺有趣的不过我找到的资料只有一个杨氏矩阵
- 勾数
- 你选中的这个位置为中心点,然后衍生出去形成这样一个7
- 然后数下有几个数,emmm大致这样吧
代码求解
方法1
思路
- 找到二维数组第一列最大元素,和要找的数比大小
- 如果小那么就在这个一列
- 大则去下一行继续比
-
#define line 3
#define arge 3
//杨氏矩阵
void print(int arr[][arge], int l, int a)
{
int i = 0;
for ( i = 0; i < l; i++)
{
int j = 0;
for ( j = 0; j < a; j++)
{
arr[i][j] = 1 + j+i;
//printf("%d", arr[i][j]);
}
}
}
int main()
{
int arr[line][arge] ;
print(arr, line, arge);
int n = 0;
int sz = sizeof(arr) / sizeof(arr[0][0]);
scanf("%d", &n);
int i = 0;
int count = 0;
for ( i = 0; i < sz; i++)
{
if (arr[i][arge - 1] >= n)
{
int j = 0;
for (j = 0; j < arge; j++)
{
if (n == arr[i][j])
{
count++;
break;
}
}
}
}
if (count != 0)
{
printf("该数字在矩阵中");
}
else
{
printf("矩阵中没该数字");
}
return 0;
}