//二维数组中的查找,杨氏矩阵

//在一个二维数组中,每行都依照从左到右的递增的顺序排序。每列都依照从上到下递增的顺序排序。

//请完毕一个函数。输入这种一个数组和一个数,推断数组中是否包括这个数。

#include

#define Col 4

int Yang(int arr[][Col], int val)

{

int i=0;

int j = Col - 1;

int tmp = arr[i][j]; //找到左上角的数

while (1)

{

if (tmp == val)

{

return 1;

}

else if (tmp=0) //小于要找的数,在下一行寻找

{

tmp = arr[++i][j];

}

else if (tmp>val && j>=0) //大于要找的数,从该列向前找

{

tmp = arr[i][--j];

}

else

return 0;

}

}

int main()

{

int i, j;

int a;

int arr[4][Col] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 15, 16, 17, 18, 19 };

printf("数组为:

");

for (i = 0; i < 4; i++)

{

for (j = 0; j < 4; j++)

{

printf("%3d", arr[i][j]);

}

printf("

");

}

printf("请输入一个数:");

scanf_s("%d", &a);

if (Yang(arr, a))

{

printf(" %d在该矩阵中

", a);

}

else

{

printf(" %d不在该矩阵中

", a);

}

return 0;

}

c语言二维数组中的周边,【C语言】二维数组中的查找,杨氏矩阵相关推荐

  1. 二维数组中的查找(杨氏矩阵(C语言+Java))

    二维数组中的查找这道题,出自 <剑指Offer>.也是著名的杨氏矩阵 在一个 n *m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的.输入一个数,判断矩阵中 ...

  2. C语言中的二级指针和二维数组问题

    关于二级指针和二维数组两者差别很大,不可以直接用二级指针传递二维数组 首先来看看二维数组在内存中是如何组织的呢? 一维数组 T arr1 = new T[9]  二维数组T arr2 = new T[ ...

  3. c语言字符串二维数组的动态分配应,C语言中动态分配二维数组复习过程.doc

    C语言中动态分配二维数组复习过程.doc C语言中动态分配二维数组在C中动态分配内存的,对于单个变量,字符串,一维数组等,都是很容易的.C中动态分配二维数组的方法,很少有C语言书中描述,我查找了有的C ...

  4. 二维数组在c语言中的作用,C语言中的二维数组

    1.二维数组的定义和引用 一. 数据类型 数组名[常量表达式1][常量表达式2]; (1)假如有个二维数组array[n][m],则行下标的取值范围0~n-1 (2)列下标的取值范围0~m-1 (3) ...

  5. c语言二维数组初始化_6.2 C语言二维数组

    01二维数组的定义 1.一般形式 类型说明符 数组名[常量表达式][常量表达式] 2.例子 int a[10][6],b[3][4]; 3.用矩阵形式表示二维数组,是逻辑上的概念,能形象地表示出行列关 ...

  6. 《零基础看得懂的C语言入门教程 》——(九)C语言二维数组与循环嵌套

    一.学习目标 了解二维数组的使用方法 了解循环嵌套的使用方法 目录 C语言真的很难吗?那是你没看这张图,化整为零轻松学习C语言. 第一篇:(一)脱离学习误区 第二篇:(二)C语言没那么难简单开发带你了 ...

  7. C语言 二维数组定义和使用 - C语言零基础入门教程

    目录 一.二维数组简介 二.定义二维数组并初始化 1.定义二维数组 2.初始化二维数组 三.访问二维数组 四.修改二维数组 五.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 & ...

  8. 【C语言】数组的基本知识详细讲解(一维数组、二维数组、越界、存储.....

    接着上次的操作符的详解,让我们来简单了解C语言里的数组. 目录 一维数组的创建和初始化 一维数组的使用 一维数组的存储 二维数组的创建与初始化 二维数组的存储 数组的越界 总结 一维数组的创建和初始化 ...

  9. c语言数组赋值可以用scanf吗,二维数组怎么赋值 用scanf给二维数组赋值

    不知道行数列数的情况下,给一个二维数组赋值...... c语言二维数组的赋值: 例1: inta[5][3]={{80,75,92},{61,65,71},{59,63,70},{85,87,90}, ...

最新文章

  1. python发送各类邮件的主要方法
  2. maven3常用命令、java项目搭建、web项目搭建
  3. boost::qvm::deduce_vec相关的测试程序
  4. Go聊天室的思路:一个拨号 一个监听
  5. FPGA时钟激励编写(方法四)
  6. ITU-T G.1081 IPTV性能监测点 (Performance monitoring points for IPTV)
  7. 轻松调整,提升写作效率,让 Word 更好地为你所用
  8. vue中 key 值的作用
  9. linux学习(3)——vim文本编辑工具
  10. 技术项目 - MySQL多从系统的主库选择
  11. 如何在FLASH中实现眨眼睛的动画效果
  12. 创建内嵌SIS文件的安装包
  13. 90后马来西亚女孩闯华为
  14. 个人经历:谈一谈的程序员求职途径
  15. 本次给大家来个简单的一元二次方程求解的编程
  16. 不会写SQL?ChatGPT 来帮你
  17. Hilbert曲线简单介绍及生成算法
  18. iOS-MMKV的使用
  19. CDeC-Net代码实现
  20. [USACO 07NOV]防晒霜Sunscreen {贪心}

热门文章

  1. mysql5.6忘记立马_MySQL 5.7 安装完成后,立即要调整的性能选项
  2. 周五14点直播丨数据库大咖讲坛(第6期):数据库性能优化技巧与最佳实践
  3. Oracle-索引分裂研究
  4. 墨天轮章芋文:用十年打造中国的数据库生态体系
  5. 直播预告 | 乘云而上:云原生数据仓库AnalyticDB
  6. MySQL 每秒 570000 的写入,如何实现?
  7. 携程一次Redis迁移容器后Slowlog“异常”分析
  8. 高手过招:用SQL解决环环相扣的刑侦推理问题(苏旭辉版本)
  9. 一文解析Apache Avro数据
  10. 提升漏洞修复率,DevSecOps真的很有一套