二维数组入门.理论知识.二维数组的定义与输入输出

大家好,我是AC使者。

二维数组入门

一、二维数组的定义

假如我们要保存 100 个整数,我们可以使用一维数组,定义数组 int a[100];,然后就可以把这 100 个整数保存在数组的 a0,a1,......,a99 。

假如我们有 3 行,每行有 4 个整数,应该如何保存呢?

每行使用一个一维数组是可以的,例如:第一行使用数组 int a[4];,第二行使用数组int b[4]; ,第三行使用数组 int c[4]; 。但是这样 3 个数组的名称不一样,有时候使用起来比较麻烦,有没有更好的方法呢?下面介绍二维数组的定义:

**类型标识符 数组名常量表达式1常量表达式2; **

例如: int d[3][4]; 表示d数组是整型的二维数组,有 3 行,每行可以保存 4 个整数。行的编号是从 0 至 2 ,列的编号是从 0 至 3 。

第 i 行第 j 列的元素就是 dij,dij 相当于一个普通的整型变量,它的用法相当于一个普通的整型变量的用法。

二、二维数组的读入

  1. 定义

    int d[3][4]; //定义二维数组

Copy

  1. 读入数据,赋值到其中一个元素

    cin>>d[0][1]; //键盘输入 10

Copy

执行上面的代码,键盘输入 10 ,数组会变成下面这样:

复制代码
cin>>d[1][3]; //键盘输入 30 

Copy

执行上面的代码,键盘输入 30 ,数组会变成下面这样:

2、读入数据,赋值给一行数组元素。

可以用 for 循环读入一行数据,例如下面是用循环读入 4 个整数保存到 d 数组的第 2 行。

复制代码
for(int j=0; j<4; j++)
	cin>>d[2][j]; //键盘依次输入 40 50 60 70

Copy

执行上面的代码,并依次输入40 50 60 70,那么会变成:

3、读入多行数据

假如要把 3 行 4 列的整数全部读入,可以用两重循环:

复制代码
for(int i=0; i<3; i++) //共3行
	for(int j=0; j<4; j++) //每行读入4个整数
		cin>>d[i][j]; //每次读入一个整数,存放到 d 数组的第 i 行第 j 列。

Copy

三、二维数组的输出

假如有 n 行 m 列的数据保存在二维数组 d0...n-10...m-1 。

  1. 输出其中一个元素

    cout<<d[0][2]; //表示输出第0行第2列的数据。

Copy

  1. 输出一行数据

假如要输出第 i 行的 m 个整数,可以用下面的循环实现:

复制代码
for(int j=0; j<m; j++)
	cout<<d[i][j]<<""; //输出第i行第j个数

Copy

  1. 输出整个二维数组

可以用二重循环输出整个二维数组。

复制代码
for(int i=0; i<n; i++) //共n行
{
	for(int j=0; j<m; j++) //每行有m列
		cout<<d[i][j]<<" "; //输出第i行第j列的数

	cout<<endl; //每输出完一行,就输出一个换行符
}

谢谢观看。(虽然有点枯燥无味,但麻烦点个赞,关注我,Thank you)

相关推荐
Logic1012 小时前
C语言/数据结构位运算题解:异或XOR找出学习计划中的“独特学习时间“——只出现一次的数字
c语言·数据结构·数组·位运算·时间复杂度·算法题·异或性质
小蒋学算法3 小时前
算法-交替删除操作后最后剩下的整数-跟着灵茶山艾府学算法
数据结构·算法
荆棘鸟智能3 小时前
林业遥感长势评估怎么做?从NDVI时序分析到LiDAR蓄积量回归
人工智能·算法·智慧林业
hhb_6184 小时前
AIRAGDebug:一键定位RAG链路异常
人工智能·python·算法
朝朝辞暮i4 小时前
C++ 第 6 课:switch —— 多状态选择
开发语言·c++·算法
苏打豆5 小时前
Pinocchio源码阅读——刚体运动物理量空间变换及求导
c++·线性代数·算法·矩阵·机器人
FluxArt5 小时前
GPT Image 2.5 中文提示词教程:Flux Art 可复用模板
前端·gpt·算法
思麟呀5 小时前
位运算:从一个整数到一个集合
c语言·数据结构·c++·算法
阜阳山君GEO6 小时前
豆包 SEED 新版本 GEO 优化:信源金字塔、打分体系与避坑落地指南
人工智能·算法
晓天衡宇•评测社区6 小时前
晓天衡宇亮相 2026 云栖大会:迈向更可信的高质量评测
人工智能·算法·机器学习