11.22 程序设计课 数组知识点归纳

知识点归纳


数组简介:

所谓数组,是有序的元素序列。 若将有限个类型相同的变量的集合命名,那么这个名称为数组名。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。用于区分数组的各个元素的数字编号称为下标。数组是在程序设计中,为了处理方便, 把具有相同类型的若干元素按无序的形式组织起来的一种形式。 [1] 这些无序排列的同类数据元素的集合称为数组。

上面那一坨简单看看就好。
简单来说,数组就是变量的另外一种形式。
数组存在的目的就是为了方便我们定义变量

举个栗子吧

学校有6000个同学,期末考试高数成绩出来了,要把每个同学的高数成绩汇总到教务处

如果要把这些同学的数据存起来,按照我们原先的方法则至少要定义6000个变量

int a,b,c,d,e,f,g……//我就不一一写下去了(此处省略6000个变量)

这个工作量是巨大的。
而当我们有了数组以后有十分方便了。

我们只需要用以下代码就可以完成了

int a[6000];//定义档案室a 且的档案室里有6000个储物柜

此时数组就充当一个仓库,暂时称这个存储高数成绩的数组为 档案室a
那么这个档案室中有着6000个格子用来储存同学们的成绩。


了解了大概,我们再聊点具体的

一维数组

int x[5];//定义一个成员数为 5 的数组

在这里插入图片描述
该数组的成员数为 5
int x[5] 中的 5 代表成员数
而表格下方的 x[0] x[1] 等等则是他们每个成员的名称 即 表示方式
记住:下标从0开始 此处的 0 1 2代表该成员离第一个成员的距离单位

当我们定义数组的时候
前面的类型还是与以前相仿

当我们定义字符型的数组时
应写成

char a[3]="xiu";

当然,如果不用数组,也可使用string类型

#include<string>
string s="xiu";

PS:由于数组的数据过于庞大,所以对于函数数据传递的时候就不适合值传递了,
采用引用传递。

说再多也没用,上代码!

#include <iostream>
#define N 10 //宏定义
using namespace std;

double findMax(int a[], int);
double average(int a[], int);
void printArray(int a[], int);

int main()
{
	int a[N];

	//生成随机数
	for (int i = 0; i < N; i++)
	{
		a[i] = rand();
	}

	//打印数组
	printArray(a, N);

	//打印最大值
	cout << "MAX:" << findMax(a, N) << endl;

	//打印平均值
	cout << "AVERAGE:" << average(a, N) << endl;

	return 0;
}
//函数功能:返回大小为n数组的最大值 
double findMax(int a[], int n)
{
	int max = a[0];

	for (int i = 0; i < N; i++)
	{
		if (a[i] > max) max = a[i];
	}

	return max;
}

//函数功能:返回大小为n数组的平均值 
double average(int a[], int n)
{
	double sum = 0;

	for (int i = 0; i < N; i++)
	{
		sum += a[i];
	}

	return sum / n;
}

//函数功能:打印大小为n的数组
void printArray(int a[], int n)
{
	for (int i = 0; i < n; ++i)
	{
		cout << a[i] << "\t";
	}
	cout << endl;
}

运行结果如下:

最后简单提下二维数组

int a[2][3]={15,20.30.6,32,12}//两行三列
//int a[2][3]={{15,20,30},{6,32,12}} 与上面的一样,不过这个方式更为直观


如上表所示

a[0][2] 表示 数字 30

例子
输出数组

for(int i=0;i<2;i++)
{
	for(int j=0;j<3;j++)
	{
		cout<<a[i][j]<<"\t";
	}
	cout<<endl;
}

要讲的就那么多了,还是需要实践慢慢领会。

猜你喜欢

转载自blog.csdn.net/shaxiu0213/article/details/103208968