- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数组(Array) Sharon 2012年2月18日 数组的概念 数组是一种比变量更大的存储容器 数组中的数据有序排列,为同一类型(整形、字符型、双精度型等) 大小为N数组的下标范围:0,1,2,3,……N-1 0 1 2 3 4 … … … N-1 一维数组的定义 数据类型 数组名[数组大小]; 数据类型为int,float,char,double等 数组名的命名规则和变量相同 数组大小必须为常量表达式 例子: int score[100]; //大小为100的整形数组 char alpha[26]; //大小为26的字符数组 一维数组的初始化 在定义数组的同时,可以用以下方法对其进行初始化 int score[10] = {32, 23, 4, 1, 6, 12, 43, 54, 76, 56}; char aaa[10] = { ‘a’, ‘b’, ‘c’, ‘d’ ,’e’ , ‘g’ , ‘ ‘, ‘@’ }; float bbb[4] = { 3.12, 4.555, 9.18, 10.55}; double acd[3] = { 12 }; 数组元素之间用逗号分隔,如果只有部分被定义,其余的则都默认为0 一维数组的使用 第一步:引用一个数组元素 方法:数组名[要引用元素的小标] 例子:score[5] //引用score数组下标为5的元素 第二部:对引用的元素进行操作 ?这里的操作方法和普通变量的操作方法是没有区别的 例子:score[5] = 100; //为数组的5号元素赋值100 score[5] = score[1]; 一维数组应用举例1:逆序输出 通过键盘输入20个整形数组,并逆序输出 例子: 输入:1,2,3,4,5,6,7,8,……20 输出:20,19,18,17,……3,2,1 一维数组应用举例2:开灯问题 有n盏灯,编号为1~n。第1个人把所有灯都打开,第二个人按下所有编号为2的倍数的开关(这些灯将被关掉),第3个人按下所有编号为3的倍数的开关(其中,关着的灯被打开,开着的被关掉),依次类推,共有k个人,问最后哪些灯开着? 输入:n和k ( k = n = 100 ) 输出:开着的灯 的编号 课堂练习 题目:1777 逆序输出 (必做) 题目:1776 简单的插入排序 (必做) 题目:1774 简单的选择排序 (选作) 二维数组的定义 数据类型 数组名[行下标][列下标]; 数据类型、数组名、下标的规则同一维数组 可以把二维数组理解为一张表格,则表格可以容纳的数据个数为:行下标*列下标 例子: int score[3][4]; score[0][0] score[0][1] score[0][2] score[0][3] score[1][0] score[1][1] score[1][2] score[1][3] score[2][0] score[2][1] score[2][2] score[2][3] 二维数组的初始化 在定义数组的同时,可以用以下方法对其进行初始化 int score[2][3] = { {1, 3, 4}, {12, 43, 9} }; char biao[3][3] = { {‘a’ , ‘#’, ‘~’}, {‘)’, ‘9’, ‘0’}, {‘^’, ‘$’, ‘?’}}; float mat[2][2] = {1}; 同一维数组,如果二维数组只有部分初始化,那么其余的部分默认为0 二维数组的使用 二维数组的使用方法和一维数组是一样的: STEP1:引用元素 STEP2:对元素进行操作 例子: score[2][1] = 5; 二维数组应用举例1:对称矩阵 编程构造一个n*n的对称矩阵并输出 例子: 输入:5 输出: A B C D E B F G H I C G J K L D H K M N E I L N O 二维数组应用举例2:蛇形填数 在n*n方阵里面填入1,2,…n*n,要求填成蛇形。 例子: 输入:4 输出: 10 11 12 1 9 16 13 2 8 15 14 3 7 6 5 4 课堂练习 题目:1775 矩阵对角线元素之和 (必做) 题目:1773 蛇形填字母 (必做) 题目:1606 输出杨辉三角 (选作) 课后练习 题目:1599 队列的移位 题目:1607 三角蛇形矩阵 题目:1604 方阵的最小和 题目:1609 皇后们冲突吗?
文档评论(0)