数组的诞生大致是为了解决和方便处理大批数据,例如:一所小学的学生共有5000人,那么一次考试就有5000人的成绩;我们如果用5000个变量来存估计写变量头都大,这时候就可以使用数组来存储了,到这应该能感性的理解数组实质是一类相同元素的集合。
一维数组定义:类型名 数组名[数组容量]
#include <iostream>
using namespace std;
int main()
{
//定义一个大小10000的双精度数据类型的数组,假定存储n个学生的成绩
double score[10000];
int n;
cin >> n;
//注意数组的位置是从0开始,到n-1,称之为数组的下标
for(int i = 0; i < n; ++i)
{
cin >> score[i];//输入每个人成绩存储
}
//输出每个人的成绩
for(int i = 0; i < n; ++i)
{
cout << score[i] << ' ';
}
cout << endl;
//修改(n / 2)位置学生的成绩为100,注意int的除法取整数部分
//比如:11 / 2 = 5,31 / 4 = 7, 62 / 2 = 31
score[n / 2] = 100;
//查看成绩是否修改成功
for(int i = 0; i < n; ++i)
{
cout << score[i] << ' ';
}
cout << endl;
return 0;
}
如果我们遇到像excel一样的表格数据该怎么存储呢,这时候就就用二维数组了,数组类型 数组名[数组行][数组列]
#include <iostream>
using namespace std;
int main()
{
//定义一个100行100列的二维数组,n行m列
int a[100][100], n, m;
cin >> n >> m;
//填上数据
for(int i = 0; i < n; ++i)
{
for(int j = 0; j < m; ++j)
{
cin >> a[i][j];
}
}
//输出
for(int i = 0; i < n; ++i)
{
for(int j = 0; j < m; ++j)
{
cout << a[i][j] << ' ';
}
cout << endl;
}
//在第n/2行每个数都加5
//如果for中就一条语句可以不用{}
for(int i = 0; i < m; ++i)
a[n / 2][i] += 5;
//输出验证
for(int i = 0; i < n; ++i)
{
for(int j = 0; j < m; ++j)
{
cout << a[i][j] << ' ';
}
cout << endl;
}
return 0;
}
同理多维数组的构建:类型名称 数组名[][][][]...,虽然数组可以建若干维度,但平时常用的就一维二维三维。