Bootstrap

【二维数组】

目录

作业

对比:

结果:

二维数组

二维数组的初始化

作业


作业

#define max(a,b)(a>b)?a:b
#include<stdio.h>
int main() {
	int x, y,c;
	scanf("%d %d", &x,&y);
	c=max(x, y);
	printf("%d", c);
	return 0;
}

对比:

define对于这种简单定义会比函数简单,直接明了省事。

如果正常比大小一定会引用if+else的组合。

结果:

二维数组

在一维数组里可能有一些局限性

1. 结构化数据的表示:一维数组通常只能表示线性结构的数据,即每个元素之间只有一种线性关系。如果数据结构更加复杂,例如,具有多个维度或层次结构,那么一维数组可能无法有效地表示。
2. 空间利用率:一维数组在空间利用方面可能并不高效。例如,如果你正在尝试表示一个二维网格或矩阵,你可能会发现一维数组会浪费很多空间,因为你不能直接在一个数组中存储矩阵的所有行和列。

二维数组可以比较好的解决

1. 结构化数据的表示:二维数组可以自然地表示二维数据结构,如矩阵或表格。这对于需要处理这些类型的数据的应用来说是非常有用的。
2. 空间利用率:与一维数组相比,二维数组可以更高效地存储和访问二维数据。例如,你可以直接在一个二维数组中存储矩阵的所有行和列,而不需要浪费额外的空间。

当然他也有他的限制比如:

二维数组的大小是固定的,一旦创建,你就不能改变它的大小。此外,对于更复杂的数据结构,如三维数据或具有不规则结构的数据,你可能需要使用更复杂的数据结构,如多维数组、列表、树或图。

二维数组的初始化

#include<stdio.h>
int main() {
	int a[100][100];
	for(int i=0;i<3;i++){
		for(int j=0;j<3;j++){
			scanf("%d",&a[i][j]);
		}
	}
	for(int i=0;i<3;i++){
		for(int j=0;j<3;j++){
			printf("%d",a[i][j]);
		}
		printf("\n");
	}
	return 0;
}

作业

输入4个整数

要求后三个数都小于第一个数

判断第四个数在不在中间两个数的范围内(不包括内两个数)

;