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. 赋值 二维数组的赋值, ...
随机推荐
- nodejs操作 mongoose(mongodb)和Sequelize(mysql)查询数据后添加新属性未生效
最近在着手koa时候,发现mongoose(mongodb)查询数据库后添加新属性,前端拿不到新属性问题, 然后测试了一下Sequelize(mysql),发现也有同样的问题存在.此时着手干! 1.1 ...
- Python随笔--继承
- HTTP与HTTPS有哪些区别?
大纲 这里写图片描述一.前言: 这里写图片描述这里写图片描述先来观察这两张图,第一张访问域名http://www.12306.cn,谷歌浏览器提示不安全链接,第二张是https://kyfw.1230 ...
- python 语法
Python基础语法举例# 1 缩进和空格表示代码块# 2()连接多行print("()连接多行")str = ("uhfjfjkfj" " ...
- web网页错误代码的含义
web网页错误代码的含义 一.1xx 表示临时响应并需要请求者继续进行操作的状态码,例如: 100--继续:101--切换协议 二.2xx 表示服务器成功的处理了请求的状态码,例如: 200--客户端 ...
- C入门注意事项
C语言入门应该注意什么 进入IT行业,很多人一开始接触的都是C语言,C语言可以说是一门基础课程了,只要有了C语言的基础,那么以后不管是学什么语言都会比较容易上手.同时在学习其它语言时也可以 ...
- element-项目用到偏门方法~
开发项目的时候,组件库的使用有时会为我们节省开发时间,提高开发效率,但组件库样式有时与我们的设计图出入很大,还有的方法也很偏门,主要官方文档有时候对于一些方法和属性介绍的也比较少,以下是我在工作中总结 ...
- 阶段02JavaWeb基础day01html&css
HTML 基础 概念 全写: HyperText Mark-up Language 译名: 超文本标记语言 超级文本标记语言是一种规范,一种标准, 超文本标记语言它通过标记符号来标记要显示的网页中的各 ...
- position:fixed 兼容浏览器低版本
项目中遇到的坑,写篇博客做个笔记纪念下,position: fixed一般来说都兼容各个浏览器,但是要兼容浏览低版本问题,就得用-webkit-transform: translateZ(0);这段代 ...
- mongo aggregate 删除重复数据
$group 按照什么排序, 关照 _id 这个是排序的依据 $match 这个从排序的结果内抽取 count 大于一的 allDiskUse 如果内存配置比较小, 设置这个才能运行, 否则会崩. ...