前言
我们之前定义变量都是一个一个定义的。但是有某些情况下,我们需要一次性存很多东西,这时候如果我们用之前的做法,就要定义很多次变量,这很麻烦。引入了数组之后,我们可以开连续一片空间。
例如下面的代码,我们开了三个空间,此时我们就有了a[0], a[1], a[2] 的变量。
int a[3];
目录:
cpp极简入门——概要_(1)
cpp极简入门——输入输出流简单运用_(2)
cpp极简入门——分支(3)
cpp极简入门——循环(4)
cpp极简入门——数组(5)
cpp极简入门——函数_(6)
cpp极简入门——结构体_(7)
代码
一维数组
这里我们需要这样子, 让计算机给我们下面的几个数字排序 (我随便列举的), 并按从小到大的顺序输出。
5, 69, 7, 53, 100, 75
#include <iostream>
using namespace std;
int main() {
int n = 6, temp; // n代表数字个数
// 不指定数字进行初始化, 程序会自己确定
int a[] = {5, 69, 7, 53, 100, 75};
// 这里用一下冒泡排序
for (int i = 0; i < n; i++)
for (int j = 0; j < n - 1; j++)
if (a[j] > a[j + 1]) {
// 交换两数,保持前面的数比后面的小
temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
}
for (int i = 0; i < n; i++)
cout << a[i] << " ";
return 0;
}
这里用了冒泡排序,关于排序的部分,感兴趣可以看看 数据结构排序复习,以后学数据结构也会讲到。
二维数组
假设有一个班,班上有三个同学,小明,小红, 小张,他们三科成绩分别为
语文 数学 英语
小明 85 99 92
小红 92 94 97
小张 90 95 95
需要统计他们分数,并按 “语文 数学 英语 总分” 格式输出 。
#include <iostream>
using namespace std;
int main() {
int n = 3;
int grade[n][4] = {{85, 99, 92, 0}, {92, 94, 97, 0}, { 90, 95, 95, 0}};
for (int i = 0; i < n; i++)
for (int j = 0; j < 3; j++)
grade[i][3] += grade[i][j];
for (int i = 0; i < n; i++)
for (int j = 0; j < 4; j++) {
cout << grade[i][j];
if (j == 3) // 不同人就换行,为了美观
cout << endl;
else
cout << " ";
}
return 0;
}
运行结果:
关于本案例,我们用到了一个二维数组。
一维表示人,二维表示成绩。实际上,虽然此方法可行,但是一般这种情况我们用结构体比较多,等到讲到结构体还会再说。