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语言中的二维数组的更多相关文章

  1. C语言中的二维数组和数组指针的那些事

    其实很多人就想弄明白这个定义了的数组指针里面赋值给的a究竟是什么 a是一个列地址,那么*a是什么,*a还是个地址它存储了行地址.如果我们定义一个指针,那他就有点二级指针的味道.因为它存储的是一个地址, ...

  2. C语言如何动态分配二维数组

    C语言如何动态分配二维数组(转载) 原文链接:https://www.cnblogs.com/0xWitch/p/9314621.html 使用malloc().free()函数进行动态分配,这两个函 ...

  3. C#中读取二维数组每位的长度

    C#中的二维数组,如int[,] A=new int[a,b];则 a=A.GetLength(0);即可获得二维数组中第一维的长度. b=A.GetLength(1);即可获得二维数组中第二维的长度 ...

  4. Java中的二维数组

    Java 中的二维数组 所谓二维数组,可以简单的理解为是一种"特殊"的一维数组,它的每个数组空间中保存的是一个一维数组. 那么如何使用二维数组呢,步骤如下: 1. 声明数组并分配空 ...

  5. iOS中的二维数组

    首先我们知道OC中是没有二维数组的,二维数组是通过一位数组的嵌套实现的,但是别忘了我们有字面量,实际上可以和C/C++类似的简洁地创建和使用二维数组.这里总结了创建二维数组的两种方法以及数组的访问方式 ...

  6. 一些Python中的二维数组的操作方法

    一些Python中的二维数组的操作方法 这篇文章主要介绍了一些Python中的二维数组的操作方法,是Python学习当中的基础知识,需要的朋友可以参考下 需要在程序中使用二维数组,网上找到一种这样的用 ...

  7. Java中一维,二维数组的静态和动态初始化

    今天我们要开始来讲讲Java中的数组,包括一维数组和二维数组的静态初始化和动态初始化 数组概述: 数组可以看成是多个相同类型数据的组合,对这些数据的统一管理; 数组变量属于引用数据类型,数组也可以看成 ...

  8. php中遍历二维数组并以表格的形式输出

    一.索引数组 <?php //使用array()语句结构将联系人列表中所有数据声明为一个二维数组,默认下标是顺序数字索引 $contact1 = array( //定义外层数组 array(1, ...

  9. Java 中的二维数组

    所谓二维数组,可以简单的理解为是一种“特殊”的一维数组,它的每个数组空间中保存的是一个一维数组. 那么如何使用二维数组呢,步骤如下: 1. 声明数组并分配空间 或者 如: 2. 赋值 二维数组的赋值, ...

随机推荐

  1. Qt 分页标题打印

    void ItemSplitter::printpdf(const QString& fileName){ QPrinter printer_html(QPrinter::ScreenReso ...

  2. Java之for循环嵌套练习

    1.打印4层*** ***** ***** ***** ***** class forfor{ public static void main(String[] args){ for(int y=0; ...

  3. 七、Linux的权限命令

    1. 文件权限 r:对文件是指可读取内容 对目录是可以ls w:对文件是指可修改文件内容,对目录 是指可以在其中创建或删除子节点(目录或文件) x:对文件是指是否可以运行这个文件,对目录是指是否可以c ...

  4. JAVAEE第三周

    2.背景:看到Session时,感到很熟悉,毕竟涉及到过类似的编程,用得最多的地点就是保存客户端的信息和记录,比如说你已经登陆过某个网站,下次访问时不想要麻烦的重新登陆你就就可以使用这个机制.Sess ...

  5. 学习poisson.c

    static char help[] = "A structured-grid Poisson problem with DMDA+KSP.\n\n"; #include < ...

  6. 记录pycharm快捷键出错的其中一个原因

    #pycharm使用小技巧  最近在使用pycharm,所遇到的一些快捷键失效的问题.如ctrl+c,ctrl+v等:包括键入时,总是需要用“i”来实现等问题.  究其缘故,是在安装pycharm时, ...

  7. EFCore Owned Entity Types,彩蛋乎?鸡肋乎?之鸡肋篇

    鸡肋 鸡肋(Chicken ribs),现代汉语词语,出自<三国志·魏书·武帝纪>裴松之注引<九州春秋>曰:"夫鸡肋,弃之如可惜,食之无所得,以比汉中,知王欲还也.& ...

  8. js问题解决——cannot read property style of undefind

    当遇到cannot read property style of undefine的问题如下: 那就说明你设定的这个变量名为空 比如我在文档里写的属性名为list_box 但是我获取的属性名称写错了 ...

  9. ubuntu Error fetching https://gems.ruby-china.org/: Errno::ECONNREFUSED: Connection refused

    排除网络原因的前提下 是 权限问题  用 sudo 来 执行命令即可  sudo  gem sources -a https://gems.ruby-china.org/

  10. hadoop题目(一)

    一.简要描述如何安装配置一个开源hadoop,只描述即可,列出完整步骤. 答:①创建一个用户和用户组,用来管理hadoop项目:   ②修改确定IP地址:vim /etc/sysconfig/netw ...