一、认识数组
数组是相同数据类型的元素组成的集合。
例如:
int arr[8]={10, 20, 30, 40, 50, 60, 70, 80};
【说明】
int:数据类型。
arr:数组名。
8:表示数组的长度。
大括号里的数:表示数组元素。
二、数组的声明
数组类型 数组名[大小] = { 数据元素 };
【说明】
数据类型:元素的数据类型,如int
, float
, double
等。
数组名:和变量的命名规则一样。
大小:数组元素的个数,即数组长度。
三、数组的初始化
初始化为对应的元素值:
int array[5] = {1, 2, 3, 4, 5};
所有的元素都初始化为0:
int array[5] = {};
第一个元素为1,其余元素为0:
int array[5] = {1};
系统随机分配:
int array[5];
四、通过数组下标获取数组元素的值
数组名[下标]
【问题描述】
定义数组并存入1~10之间的数,输出下标为6的数组元素。
【样例输出】
7
完整代码:
#include <iostream>
using namespace std;
int main() {
int nums[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
cout << nums[7] << endl;
return 0;
}
五、数组的输入
一般输入变量,都是用cin,数组也是一样。
代码如下:
#include <iostream>
using namespace std;
int main() {
int arr[100] = {};
cin >> arr[0] >> arr[1] >> arr[2] >> arr[3] >> arr[4] >> arr[5] >> arr[6] >> arr[7] >> arr[8] >> arr[9];
cin >> arr[10] >> arr[11] >> arr[12] >> arr[13] >> arr[14] >> arr[15] >> arr[16] >> arr[17] >> arr[18] >> arr[19];
......
cin >> arr[90] >> arr[91] >> arr[92] >> arr[93] >> arr[94] >> arr[95] >> arr[96] >> arr[97] >> arr[98] >> arr[99];
return 0;
}
看这些数字,可以发现[]里的数字都是有顺序的,都是+1,而在for循环那一章说过,for的循环变量可以在循环中使用,所以可以使用for循环解决。
代码如下:
#include <iostream>
using namespace std;
int main() {
int arr[100] = {};
for (int i = 0; i < 100; i++) cin >> arr[i];
return 0;
}
六、数组的输出
还是,只需要这么做就可以了。
#include <iostream>
using namespace std;
int main() {
int arr[100] = {};
cout << arr[0] << arr[1] << arr[2] << arr[3] << arr[4] << arr[5] << arr[6] << arr[7] << arr[8] << arr[9];
cout << arr[10] << arr[11] << arr[12] << arr[13] << arr[14] << arr[15] << arr[16] << arr[17] << arr[18] << arr[19];
......
cout << arr[90] << arr[91] << arr[92] << arr[93] << arr[94] << arr[95] << arr[96] << arr[97] << arr[98] << arr[99];
return 0;
}
同样,如果要全部输出,也可以用for循环。
#include <iostream>
using namespace std;
int main() {
int arr[100] = {};
for (int i = 0; i < 100; i++) cout << arr[i] << endl;
return 0;
}
七、输出N个数中的最大值
【问题描述】
定义一个数组,向数组中输入N个数(1 ≤ N),输出N个数中的最大值和最小值。输出两个数,最大值和最小值,中间用一个空格隔开。
【样例输入】
6
4 8 7 3 12 6
【样例输出】
12 3
完整代码:
#include <iostream>
using namespace std;
int main() {
int n, nums[101] = {}, maxn = -99999, minn = 99999;
cin >> n;
for (int i = 0; i < n; i++) cin >> nums[i];
for (int i = 0; i < n; i++) {
maxn = max(maxn, nums[i]);
minn = min(minn, nums[i]);
}
cout << maxn << " " << minn << endl;
return 0;
}