(贵州省普通高中信息学奥赛CSP-JS NOIP—入门组C++知识点讲解)第12讲 二维数组

2024-04-23
| 18页
| 206人阅读
| 3人下载
普通

内容正文:

学科竞赛编程 教研研究院 C++ NOIP NOI IOI 1 1 PART ONE 认识二维数组 二维数组的定义和赋值 1)二维数组的定义 类型名 数组名[行长度][列长度]; 二维数组的总元素个数: 行长度 * 列长度 例如:int a[2][3]; 数组名: a ; 数组元素类型: int; 行长度: 2; 列长度: 3; 总元素个数: 6; 10 20 30 40 50 60 2)二维数组的赋值 int a[2][4]={{1,2,3,4},{5,6,7,8}}; int b[3][4]={{1,2,3,4},{5,6},{7}}; 数组a ② 按元素赋值 1 2 3 4 5 6 7 8 数组b 1 2 3 4 5 6 0 0 7 0 0 0 ① 按行赋值 int a[2][4]={1,2,3,4,5,6,7,8}; int b[3][4]={1,2,3,4,5,6,0,0,7}; 不建议使用按元素赋值。 两行四列 三行四列 例如: 用二维数组存储三个学生的3门考试成绩 三个学生的各科成绩如下: 小明:语文90;数学91;英语92; 小兰:语文94;数学95.5;英语90; 小紫:语文96;数学99.6;英语89; 声明二维数组如下: float score[3][3]= {{90, 96, 92},{94,95.5,98}, {96, 99.6,89}} 获取小明的数学成绩: score[0][1]; 获取小紫的语文成绩: score[2][0]; 90 91 92 94 95.5 98 96 99.6 89 2.二维数组和一维数组的关系 二维效组可以被看作是一种特殊的一-维数组:它的元素又是一一个一维数组。 int a[3][4]把a看作是一个一维数组,它有3个元素: a[0]、a[1]、 a[2]每个元素又 是一个包含4个元素的一维数组。 例如: 10 20 30 40 50 60 3. 二维数组的引用 引用时,二维数组的行下标和列下标均以0开始,如上例 a[2][3]={{10,20,30},{40,50,60}}; a[0][0]=10; a[0][1]=20; a[0][2]= ? a[2][0]= ? 和一维数组有什么关系呢? 案例一: 二维数组的输入与输出 (1).使用二维数组画矩形 [问题描述] 用星(*)画出一个矩形,长5颗星,宽3颗星。 [样例输出] * * * * * * * * * * * * * * * cout<<“*”; 案例分析 for(int i = 1; i <= 5; i++〉 { cout << "*"; } 第一歩:输出一颗星 * ; 第二歩:输出一排五颗* ; for(int i = 1; i <= 5; i++) { cout << “*”; cout << endl ; } for(int i = 1; i <= 5; i++){ { cout<<"*"; cout << endl; } for(int i = 1; i <= 5; i++){ { cout << "*" ; cout << endl; } 第三步:输出三排,一排五颗 *; 第四步:根据第三步,可以看出我们重复执行了输出 一排五颗*这-步,我们可以用for循环简化我 们的代码。 for(int j = 1; j <= 3; j++){ for(int i = 1; i <= 5; i++) { cout << "*"; cout << endl; } } 案例二: 矩阵求最值 [问题描述} 有一个3*4的矩阵,要求编程序求出其中值最大的那个元素的值 ,以及 其所在的行号和列号. [样例输入] 1 2 3 4 5 6 7 8 9 10 11 12 [样例输出] 12 3 4 int a[100][100]; int i,j,max=日,mi=0,mj=0; 案例分析 第一步:声明一个整型二维数组a[100][100],声明整型变量i,j分别表示二维数组的行下标和列下标, 声明整型变虽max=0, mi=0 ,mj=0分别表示数组中的最大值,以及最大值的行下标和列下标; 第二步:使用双重for循环输入数组, 并判断输入的数字是否大于max ,如

资源预览图

(贵州省普通高中信息学奥赛CSP-JS NOIP—入门组C++知识点讲解)第12讲 二维数组
1
(贵州省普通高中信息学奥赛CSP-JS NOIP—入门组C++知识点讲解)第12讲 二维数组
2
(贵州省普通高中信息学奥赛CSP-JS NOIP—入门组C++知识点讲解)第12讲 二维数组
3
(贵州省普通高中信息学奥赛CSP-JS NOIP—入门组C++知识点讲解)第12讲 二维数组
4
(贵州省普通高中信息学奥赛CSP-JS NOIP—入门组C++知识点讲解)第12讲 二维数组
5
(贵州省普通高中信息学奥赛CSP-JS NOIP—入门组C++知识点讲解)第12讲 二维数组
6
所属专辑
相关资源
示范课
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。