C语言中的二维数组
1.二维数组的定义和引用
一. 数据类型 数组名[常量表达式1][常量表达式2];
(1)假如有个二维数组array[n][m],则行下标的取值范围0~n-1
(2)列下标的取值范围0~m-1
(3)二维数组的最大下标元素是array[n-1][m-1];
假如有一个数组array[3][4];则其下标变量为 array[0][0],array[0][1],array[0][2],array[0][3],array[1][0],array[1][1],array[1][2],array[1][3],array[2][0],array[2][1],array[2][2],array[2][3]
二.二维数组的引用
数组名[下标][下标];
array[1][2]
2.二维数组初始化
(1)可以将所有数据写在一个大括号内,按照数组元素排序对元素赋值。int array[2][2]={1,2,3,4};
(2)在为所有元素赋初值时,也可以省略行下标,但是不能省略列下标。int array[][3]={1,2,3,4,5,6};
(3)也可以分行给数组元素赋值。 int a[2][3]={{1,2,3},{4,5,6}}; a[0][0]=1;a[0][1]=2;a[0][2]=3...
在分行赋值时,可以只对部分元素赋值。int a[2][3]={{1,2},{4,5}};a[0][0]=1;a[0][1]=2;a[0][2]=0;a[1][0]=4;a[1][1]=5;a[1][2]=0;
(4)二维数组也可以直接对数组元素赋值。int a[2][3]; a[0][0]=1;
#include<stdio.h>
/*任意输入一个三行三列的二维数组,求对角元素之和*/
int main()
{
int a[][];/*定义一个三行三列的数组*/ int i,j,sum=; /*定义循环控制变量好保存数据变量sum*/
printf("please input:\n"); /*利用循环数组对数组元素进行输入*/ for(i=;i<;i++)
{
for(j=;j<;j++)
{
scanf("%d",&a[i][j]);
}
} /*利用循环数组对对角线对其求和*/
for(i=;i<;i++)
{
for(j=;j<;j++)
{
if(i==j)
{ sum=sum+a[i][j];
}
}
} printf("the result is : %d\n",sum); /*输出最后的结果*/
return ; }
3.二维数组应用
#include<stdio.h> int main()
{
int a[][],b[][]; /*定义两个数组*/
int max,min;/*表示最大值和最小值*/
int h,l,i,j;/*用于循环控制*/
for(i=;i<;i++) /*通过键盘为数组元素赋值*/
{
for(j=;j<;j++)
{
printf("a[%d][%d]=",i,j);
scanf("%d",&a[i][j]);
}
} printf("输出二维数组:\n");
for(i=;i<;i++)
{
for(j=;j<;j++)
{
printf("%d\t",a[i][j]);/*使元素分行显示*/
}
printf("\n");
}
/*求数组中最大元素及其下标*/ max=a[][];
h=;
l=; for(i=;i<;i++)
{
for(j=;j<;j++)
{
if(max<a[i][j])
{
max=a[i][j]; h=i;
l=j;
}
} } printf("数组中最大元素是:\n"); printf("max:a[%d][%d]=%d\n",h,l,max);
/*求数组中最小元素及其下标*/ min=a[][]; h=;
l=;
for(i=;i<;i++)
{
for(j=;j<;j++)
{
if(min>a[i][j])
{
min=a[i][j];
h=i;
l=j;
}
}
} printf("数组中最小元素是:\n");
printf("min:a[%d][%d]=%d\n",h,l,min);
/*将数组a转换后存入数组b中*/
for(i=;i<;i++)
{
for(j=;j<;j++)
{
b[j][i]=a[i][j];
}
} printf("输出转换后的二维数组:\n"); for(i=;i<;i++)
{
for(j=;j<;j++)
{ printf("%d\t",b[i][j]);
}
printf("\n"); /*使元素分行显示*/
}
return ;
}
C语言中的二维数组的更多相关文章
- C语言中的二维数组和数组指针的那些事
其实很多人就想弄明白这个定义了的数组指针里面赋值给的a究竟是什么 a是一个列地址,那么*a是什么,*a还是个地址它存储了行地址.如果我们定义一个指针,那他就有点二级指针的味道.因为它存储的是一个地址, ...
- C语言如何动态分配二维数组
C语言如何动态分配二维数组(转载) 原文链接:https://www.cnblogs.com/0xWitch/p/9314621.html 使用malloc().free()函数进行动态分配,这两个函 ...
- C#中读取二维数组每位的长度
C#中的二维数组,如int[,] A=new int[a,b];则 a=A.GetLength(0);即可获得二维数组中第一维的长度. b=A.GetLength(1);即可获得二维数组中第二维的长度 ...
- Java中的二维数组
Java 中的二维数组 所谓二维数组,可以简单的理解为是一种"特殊"的一维数组,它的每个数组空间中保存的是一个一维数组. 那么如何使用二维数组呢,步骤如下: 1. 声明数组并分配空 ...
- iOS中的二维数组
首先我们知道OC中是没有二维数组的,二维数组是通过一位数组的嵌套实现的,但是别忘了我们有字面量,实际上可以和C/C++类似的简洁地创建和使用二维数组.这里总结了创建二维数组的两种方法以及数组的访问方式 ...
- 一些Python中的二维数组的操作方法
一些Python中的二维数组的操作方法 这篇文章主要介绍了一些Python中的二维数组的操作方法,是Python学习当中的基础知识,需要的朋友可以参考下 需要在程序中使用二维数组,网上找到一种这样的用 ...
- Java中一维,二维数组的静态和动态初始化
今天我们要开始来讲讲Java中的数组,包括一维数组和二维数组的静态初始化和动态初始化 数组概述: 数组可以看成是多个相同类型数据的组合,对这些数据的统一管理; 数组变量属于引用数据类型,数组也可以看成 ...
- php中遍历二维数组并以表格的形式输出
一.索引数组 <?php //使用array()语句结构将联系人列表中所有数据声明为一个二维数组,默认下标是顺序数字索引 $contact1 = array( //定义外层数组 array(1, ...
- Java 中的二维数组
所谓二维数组,可以简单的理解为是一种“特殊”的一维数组,它的每个数组空间中保存的是一个一维数组. 那么如何使用二维数组呢,步骤如下: 1. 声明数组并分配空间 或者 如: 2. 赋值 二维数组的赋值, ...
随机推荐
- jjava:将jar包引入环境变量的一个骚操作以及因此搞出来的扑街问题
现在我有一个java文件,我只想javac启动,但是这货import了一堆jar里面的东西. 于是我下回了所有的jar包,将这些jar包丢到jdk1.8.0_162\jre\lib\ext里面就ok了 ...
- Nginx实现404页面的几种方法
一个网站项目,肯定是避免不了404页面的,通常使用Nginx作为Web服务器时,有以下集中配置方式,一起来看看. 第一种:Nginx自己的错误页面 Nginx访问一个静态的html 页面,当这个页面没 ...
- Dubbo源码构建
代码签出 通过以下的这个命令签出最新的项目源码: git clone https://github.com/apache/incubator-dubbo.git dubbo 分支 我们使用 maste ...
- 并查集(POJ1182)
链接:http://poj.org/problem?id=1182 定义一种关系R(x,y),x > y 时 R(x,y) = 2:x = y 时 R(x,y)= 1:x < y 时 R( ...
- 如何用ESP8266实现网页配置(web)
准备工作 准备一个深圳四博智联科技有限公司的ESP-F 模组.或者四博智联科技的NODEMCU 当我们拿到ESP-F模块后,可以按照以下接线进行测试: 即 VCC.EN 接 3.3v.GPIO15 G ...
- 非关系统型数据库-mangodb
第三十六课 非关系统型数据库-mangodb 目录 二十四 mongodb介绍 二十五 mongodb安装 二十六 连接mongodb 二十七 mongodb用户管理 二十八 mongodb创建集合. ...
- [py]Win10下的pip/pip3 install 导致utf-8编码问题的解决方案
置顶感谢:http://blog.csdn.net/qq_33530388/article/details/68933201 今天安装时遇到了windows下棘手的问题 UnicodeDecodeEr ...
- SharePoint Framework 向web部件中添加外部库
博客地址:http://blog.csdn.net/FoxDave 在进行开发的时候,你很可能会想要引用一些公开的JavaScript库到你的项目中,本文将会介绍如何打包和共享这些库. 打包脚本 默认 ...
- 第一次 刷 WiFi 模块esp8266 感谢创客阿正
在正哥指导下 第一次 刷 WiFi 模块 少走了 不少弯路 套件里的 两块 机智云 ==== 我的电脑 需要单独供电 先 对应 接好 ic0要记得接gnd 等待上电时要断电重启 等 用助手 返回 ...
- Html.Raw用法
比如有个字符串是这样的<font color='red'>红字</font> 如果是用@Html.Raw('<font color='red'>红字</fon ...