大家好,我是szelt,今天给大家带来数组。
数组很长,我就分几节课来讲。
先来理解一下数组是什么:
可以这么理解,数组就是可以保存多个单个变量的变量。
比方说,我想记录酒店一个房间的门牌号,我可以用int类型变量,但是如果我要记录整个楼层?酒店?这时候就要用到数组了。
数组分维度,比如有一维数组
例如:2 4 21 53 4 2 3 4
二维数组
例如:2 435 5 3 4 4 2 1 2
23 3 2 21 3 4 2 434 1
三维数组(跟二维数组一样)
甚至还有4、5、6、7、8、9、10、……维数组!
最常用的就是一维二维了。
现在我来讲一下数组的建立方式:
int a[20]; //建一个名字叫a、长度为20的一维数组
关于赋值,可以输入,这里先讲一下直接赋值:
int a[5] = {3,4,2,6,4};
长度是几,就填几个数字。数组可以换成别的数字。
现在讲一下下标。
所谓下标,就是数组每个数字的编号,比方说数组是:[2,4,5,3,7],那么2的下标是0,4的下标是1,5的下标是2,……,一直到7的下标是4。
发现了吗?如果一个数长度为n,那么第1个数下标就为0,第2个数下标就是1,以此类推,直到最后一个数下标为n - 1。
有了下标,就能输入输出。
接下来我们讲输入和输出。
数组的输入输出并不是cin和cout,也不是scanf和printf,而是用循环。
比如说一个长度为n的数组,我先输入n,在输入n个数,程序大体如下:
#include<iostream>
using namespace std;
int a[300]; //建一个长度为300的数组a(但不一定要用到300次,这里只是随便用个大数字)
int main()
{
int n;
cin >> n;
for (int i = 0;i < n;i++) //循环n次
{
cin >> a[i]; //输入第i项
}
return 0;
}
程序可能很难懂,但要自己去理解。
int a[300];只是表示长度为300,但不一定要全部用完。输入输出时不用那么多就行。
其实里面也不是不能写变量,只不过在主程序外面建的变量不能输入,只能直接赋值。
想要输出也可以,只需要再写一个循环,把cin >> a[i];改成cout << a[i];就行了。
这就是1维数组。
下课,下节课讲2维数组和可变长度数组。