1.数组的概念
(1) 数组的作用:
数组是用于大量数据存储的场合,比如大量的输入的场合
<例:(输入n个数字)>
输入:
5
1 2 3 4 5
<疑问>
· 上面的例子可以用循环n次获取输入的方式解决,为什么还要用数组?
如果下面的场合,不能用上述方法处理
输入:
5
1 2 3 4 5
输出:
5 4 3 2 1
* 倒序输出
2. 数组的相关语法
(1) 数组的创建&初始化
<创建>
[数组的类型] [数组名] = [初始化内容]
例: int nums[100] = {}; // 创建了能够存放100个整型变量的数组,数组名为nums
<初始化>
· int nums[100]; =》所有元素都没有初始化,将为任意值!
· int nums[100] = {}; =》所有元素初始化为 0
· int nums[100] = {1,2};
=》第1个元素初始化为 1
第2个元素初始化为 2
剩余其他元素初始化为 0
(2) 数组的使用
数组名[下标] =》数组名 + 下标的方式使用
例:
nums[0] = 1;
nums[99] = 10;
注意:数组下标是从0开始编号,比如长度为100的nums数组
下标的范围是 0 ~ 99,超过会发生数组越界的错误(程序崩溃可能)
* 越界会造成 RE = runtime error 错误
输出格式:
n个数字的倒序
样例输入:
5
1 2 3 4 5
样例输出:
5 4 3 2 1
*知识点罗列
(1) 数组要求在全局区域创建
(2) 数组的长度用常量来表示
常量关键字:const 改变常量直接编译报错!
(2) 小鱼比可爱
目的:数组之间元素的对比,嵌套循环和下标的使用训练
参考链接:https://www.luogu.com.cn/problem/P1428
(3) 冰雹猜想
目的:递推逻辑的推导练习,过程中数组存放练习
内容参考链接:https://www.luogu.com.cn/problem/P5727