这是《C++算法宝典》语法入门篇的第20节文章啦~
如果你之前没有太多C++基础,请点击👉专栏:C++语法入门,如果你C++语法基础已经炉火纯青,则可以进阶算法👉专栏:算法知识和数据结构👉专栏:数据结构啦
目录
数组的作用
数组的概念
数组的定义
注意事项
📕训练:清点货物
参考程序
📕训练:临时抽查
参考程序
📕逆序清点
参考程序
数组的作用
在之前的题目中出现过有很多很多数字,我们可以使用多个变量把这些数字都保存下来,但是变量数量太多不方便使用,这个时候就需要数组了。
数组的概念
相同数据类型的元素按一定顺序排列的集合,就是把多个类型相同的变量用同一个名字命名,然后用编号区分他们的变量的集合。
这个名字称为数组名,编号称为下标,数组里面的每一个数称为数组中的元素。
数组可以理解为一列火车,车厢是从 1 开始编号的,车头可以算成是 0 号车厢。同样数组也是从 0 开始编号的,车厢就是数组元素。
数组的定义
int a[5]; //定义里面都是整形变量的数组 a
其中,a是一维数组的数组名,该数组有5个元素,依次表示为:
a[0],a[1],a[2],a[3],a[4] //引用数组元素
注意事项
需要注意的是:a[5]不属于该数组的空间范围。
严禁下标越界!!!
但是由于习惯问题,一般我们会从1号元素开始使用,所以一般我们定义数组时会比范围稍微大一些。
训练:清点货物
火车车厢可以装很多货物,但是需要按照车厢进行装载,便于查找。车站站长告诉小知各个车厢分别存放多少货物。到了下一站,小知需要把这些具体数量告诉老师,可是实在是太多数字了,能够编写一个程序帮助小知,把这些数字都记录下来呢?(最多有100节车厢)
【输入描述】
2行:
第一行:n,分别表示车厢数量
第二行,n个整数,表示每个车厢里面货物的数量
【输出描述】
1行,n个数字,用空格隔开,表示货物数量
【输入样例】
5
3 2 5 4 1
【输出样例】
3 2 5 4 1
参考程序
#include<iostream>
using namespace std;
int main()
{int n,a[110];cin>>n;for(int i=1;i<=n;i++)cin>>a[i];for(int i=1;i<=n;i++)cout<<a[i]<<" ";return 0;
}
训练:临时抽查
有n节车厢装有很多货物的火车经过中间站的时候,碰到临时检查,需要对第k节车厢进行抽查,请问这节车厢里有多少货物?(最多有100节车厢,2<=k<=n<=100)
【输入描述】
2行:
第一行:n和k,分别表示车厢数量和检查的车厢号
第二行,n个整数,表示每个车厢里面货物的数量
【输出描述】第k节车厢里货物的数量
【样例输入】
5 3
11 15 8 7 10
【样例输出】8
参考程序
#include<iostream>
using namespace std;
int main()
{int n,k,a[110];cin>>n>>k;for(int i=1;i<=n;i++)cin>>a[i];cout<<a[k]<<" ";return 0;
}
逆序清点
火车车厢可以装很多货物,但是需要按照车厢进行装载,便于查找。火车到站以后老师从最后一节车厢往前清点货物数量,那么他清点的每节车厢货物的数量应该是什么样子的呢?(最多有100节车厢)
【输入描述】
2行:
第一行:n,分别表示车厢数量(2<=n<=100)
第二行,n个整数,表示每个车厢里面货物的数量
【输出描述】1行,n个数字,用空格隔开,表示逆序输出的货物数量
【样例输入】
7
12 11 9 15 13 14 10
【样例输出】10 14 13 15 9 11 12
参考程序
#include<iostream>
using namespace std;
int main()
{int n,a[110];cin>>n;for(int i=1;i<=n;i++)cin>>a[i];for(int i=n;i>=1;i--)cout<<a[i]<<" ";return 0;
}
从入门到算法,再到数据结构,查看全部文章请点击此处http://www.bigbigli.com/