




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、5.3 二维数组,二维数组的定义、引用、初始化 使用二维数组编程,1,2020/10/19,2,2020/10/19,3,2020/10/19,4,2020/10/19,5,2020/10/19,6,2020/10/19,7,2020/10/19,8,2020/10/19,9,2020/10/19,程序解析求矩阵中的最大值,将1个3*2的矩阵存入1个3*2的二维数组中,找出最大值以及它的行下标和列下标,并输出该矩阵。 变量说明: row 记录最大值的行下标 col 记录最大值的列下标 arowcol 即为最大值,10,2020/10/19,11,2020/10/19,12,2020/10/19
2、,13,2020/10/19,14,2020/10/19,15,2020/10/19,int main(void) int row,col,i,j; int a32; printf(Enter 6 integers:n) ; for(i = 0; i arowcol) row = i; col = j; printf(max=a%d%d=%dn,row,col,arowcol); return 0; ,Enter 6 integers: 3 2 10 -9 6 -1 3 2 10 -9 6 -1 max = a10 = 10,源程序,P9,i j aij 输入 0 0 a00=3 0 1 a0
3、1=2 1 0 a10=10 1 a11=-9 2 0 a20=6 1 a21-1 输出 0 0 a00=3 0 1 a01=2 1 0 a10=10 1 1 a11=-9 2 0 a20=6 1 a21=-1 最大值 i j aij arowcol 0 0 3 a00=3 0 1 2 a00=3 1 0 10 a10=10 1 1 -9 a10=10 2 0 6 a10=10 2 1 -1 a10=10,16,2020/10/19,二维数组的定义和引用,1、定义 类型名 数组名行长度列长度 int a32; 定义一个二维数组a,3行2列,共6个元素 int b510; 定义一个二维数组a,5
4、 行 10 列, 共50 个元素,17,2020/10/19,2、引用,先定义,后使用 数组元素的引用: 数组名行下标 列下标 行下标和列下标:整型表达式 行下标的取值范围是0,行长度-1 列下标的取值范围是0,列长度-1 int a32; 3 行 2 列, 共6 个元素 a00 a01 a10 a11 a20 a21,注:下标不要越界,18,2020/10/19,二维数组在内存中的存放方式,int a32; 3 行 2 列, 6 个元素 表示1个3行2列的矩阵 a00 a01 a10 a11 a20 a21,二维数组的元素在内存中按行/列方式存放 a00 a01 a10 a11 a20 a2
5、1,19,2020/10/19,二维数组的初始化,1、分行赋初值 int a33 = 1,2,3,4,5,6,7,8,9; static int b43 = 1,2,3, ,4,5;,数组a 1 2 3 4 5 6 7 8 9,数组b 1 2 3 0 0 0 4 5 0 0 0 0,2、顺序赋初值 int a33 = 1,2,3,4,5,6,7,8,9; static int b43 = 1,2,3,0,0,0,4,5;,20,2020/10/19,省略行长度 对全部元素都赋初值 int a 3=1,2,3,4,5,6,7,8,9; 或分行赋初值时,在初值表中列出全部行 static int
6、b 3=1,2,3,4,5, 建议不要省略!,数组a 1 2 3 4 5 6 7 8 9,数组b 1 2 3 0 0 0 4 5 0 0 0 0,21,2020/10/19,使用二维数组编程,行下标和列下标分别作循环变量, 通过二重循环,遍历二维数组 通常将行下标作为外循环的循环变量 列下标 内循环,【例7-5】,22,2020/10/19,定义1个 3*2 的二维数组a,数组元素的值由下式给出,按矩阵的形式输出a数组。 aij = i + j(0i2,0j1),生成一个矩阵并输出,int a32; a00 a01 a10 a11 a20 a21,计算各数组元素的值 0 1 1 2 2 3,写
7、出源程序!,23,2020/10/19,#include int main(void) int i, j; int a32; for(i = 0; i 3; i+) for(j = 0; j 2; j+) aij = i + j; for(i = 0; i 3; i+) for(j = 0; j 2; j+) printf(%4d, aij); printf(n); return 0; ,i = 0 j = 0 a00=0 i = 0 j = 1 a01=1 i = 1 j = 0 a10=1 i = 1 j = 1 a11=2 i = 2 j = 0 a20=2 i = 2 j = 1 a2
8、1=3,源程序,0 1 1 2 2 3,/二维数组的输入,/二维数组的输出,24,2020/10/19,自定义函数day_of_year(year, month, day),计算并返回年year、月month和日day所对应的是该年第几天。 day_of_year(2000, 3, 1) 返回61 day_of_year(1981, 3, 1) 返回60 分析: 月 0 1 2 3 11 12 非闰年 0 31 28 31 30 31 闰年 0 31 29 31 30 31,日期计算二维数组方式,int tab213= 0,31, 28, 31, 30,31,30,31,31,30,31, 3
9、0,31, 0,31, 29, 31, 30,31,30,31,31,30,31, 30,31 ,利用二维数组分别表示非闰年和闰年,25,2020/10/19,源程序,int day_of_year(int year, int month, int day) int k, leap; int tab213= 0,31, 28, 31, 30,31,30,31,31,30,31, 30,31, 0,31, 29, 31, 30,31,30,31,31,30,31, 30,31 ; leap = (year%4=0 ,函数调用:day_of_year(2000, 3, 1) 返回61,k tableapk day 1 tab11=31 1+31=32 2 tab12=29 32+29=61 3退出循环,26,2020/10/19,27,课堂作业,编写main函数,调用day_of_year函数,分别输入闰年和非闰年的年、月、日进行调试,以验证程序的正确性。 输入输出格式:,请输入年:2000 请输入月:3 请输入日:1 2000.3.1是当年的第61天。,202
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 城市湿地公园综合效益评价研究-以XZ湿地公园为例
- 多囊肾的超声诊断
- 保育员培训:卫生与消毒
- 阑尾炎的护理诊断与护理措施
- 项目进度管理课件
- 油田开发项目运营管理方案
- 高效节能电机项目节能评估报告
- 2025年水稻钵苗行栽机合作协议书
- 电网侧独立储能示范项目投标书(范文模板)
- 西医外科治疗前列腺增生诊疗规范
- 2025年广西中考语文试题卷(含答案)
- 2025年南京市中考数学真题试卷
- 2025年呼伦贝尔农垦集团有限公司招聘笔试参考题库含答案解析
- 护士延续注册体检表通用
- GB 2762-2022食品安全国家标准食品中污染物限量
- GB/T 31776-2015车用甲醇汽油中甲醇含量检测方法
- 工程力学基础(讲义)
- 心电图报告的书写规范化培训课件
- 小学数学西南师大四年级下册八平均数小学数学西师版四年级下册《平均数》教学设计
- 药物外渗的严重后果及处理课件
- 2021年软件开发管理流程制度(附全套表格模板及填写指引)58页
评论
0/150
提交评论