C语音二维数组
下面代码是将二维数组中的值进行遍历输出
#include <stdio.h>
int main()
{
int array[2][3] = {{1,2,3},{4,5,6}};
int i,j;
for(i=0;i<2;i++)//行,循环两次
{
for(j=0;j<3;j++)//列,循环3次
{
printf("%d %p ",array[i][j],&array[i][j]);//将地址也一同打出
}
putchar('\n');//换行
}
return 0;
}
输出结果
1 0061FF00 2 0061FF04 3 0061FF08
4 0061FF0C 5 0061FF10 6 0061FF14
例题:
在下列数据中找到最大的数,并输出在第几行第几列
arry[3][4] = {134,342,33,43,555,356,27,58,92,36,933,367};
上代码
#include <stdio.h>
int main()
{
int arry[3][4] = {134,342,33,43,555,356,27,58,92,36,933,367};
int i,j;
int hang,lie;
int max;
for(i=0;i<3;i++)//为了更形象的转化一下,进行输出出来
{
for(j=0;j<4;j++)
{
printf("%d\t",arry[i][j]);// /t带表水平制表符,为了好看
}
printf("\n");//换行
}
max = arry[0][0];//将第一个先给到MAX进行作为参照
for(i=0;i<3;i++)//挨个顺序进行比较,行
{
for(j=0;j<4;j++)//挨个顺序进行比较,列
{
if(max < arry[i][j])
{
max = arry[i][j];
hang = i;//记录所在的行
lie = j;//记录所在的列
}
}
}
printf("最大的数是%d在第%d行在%d列",max,hang+1,lie+1);//加1是为了,人们生活中是从1开始,而计算机是从0开始
return 0;
}
输出的结果
134 342 33 43
555 356 27 58
92 36 933 367
最大的数是933在第3行在3列