求二维数组中最大元素及其所在的行和列_物联网学习教程——二维数组的引用...

二维数组元素的表示形式为:

数组名[下标][下标]

例如: a[2][3]

下标可以是整型表达式,如 a[2-1][2*2-1]

不要写成 a[2,3],a[2-1,2*2-1]形式

数组元素可以出现在表达式中,也可以被赋值

例如:b[1][2]=a[2][3]/2

在使用数组元素时,应该注意下标值应在已定义的数组大小的范围内。

常出现的错误有:

int a[3][4]; /* 定义a为3×4的数组 */

a[3][4]=3;

数据类型

数组名 [常量表达式1][常量表达式2]={ 初始化数据 };

可以用下面4种方法对二维数组初始化:

1.分行给二维数组赋初值。

例如: int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};

2.可以将所有数据写在一个花括号内,按数组排列的顺序对各元素赋初值。

167b0a975c7a985fc87cd4b4570ee931.png

4.如果对全部元素都赋初值,则定义数组时对第一维的长度可以不指定,但第二维的长度不能省。

例如:int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};它等价于:int a[][4]={1,2,3,4,5,6,7,8,9,10,11,12};

在定义时也可以只对部分元素赋初值而省略第一维的长度,但应分行赋初值。

例如:int a[][4]={{0,0,3},{},{0,10}};

dbdcd41fe2826a742f602fce27d5af4f.png

二维数组程序举例

例1、将一个二维数组行和列元素互换,存到另一个二维数组中。

7642ea57f9cd32e3ac4380723935020b.png

#include

void main()

{

int a[2][3]={{1,2,3},{4,5,6}};

int b[3][2],i,j;

printf(″array a:\n″);

for (i=0;i<=1;i++)

{

for (j=0;j<=2;j++)

{

printf(″%5d″,a[i][j]);

b[j][i]=a[i][j];

}

printf(″\n″);

}

printf(″array b:\n″);

for (i=0;i<=2;i++)

{

for(j=0;j<=1;j++)

printf("%5d″,b[i][j]);

printf(″\n″);

}

} /*程序结束*/

ccc65edac24b147f208b5f86fa040180.png

例2: 有一个3×4的矩阵,要求编程序求出其中值最大的那个元素的值,以及其所在的行号和列号。

173549336cf7957784ed3447cd4e8c40.png

程序:

#include

void main()

{

int i,j,row=0,colum=0,max;

int a[3][4]={{1,2,3,4},{9,8,7,6},

{-10,10,-5,2}};

max=a[0][0];

for (i=0;i<=2;i++)

for (j=0;j<=3;j++)

if (a[i][j]>max)

{ max=a[i][j];

row=i;

colum=j;

}

printf(″max=%d,row=%d,colum=%d\n″,

max,row,colum);

} /*程序结束*/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值