c语⾔整形⼆维数组的范围,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
/任意输⼊⼀个三⾏三列的⼆维数组,求对⾓元素之和/
int main()
{
int a[3][3];/定义⼀个三⾏三列的数组/
int i,j,sum=0; /定义循环控制变量好保存数据变量sum/
printf(“please input:\n”); /利⽤循环数组对数组元素进⾏输⼊/
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
scanf("%d",&a[i][j]);
}
}
/利⽤循环数组对对⾓线对其求和/
{
for(j=0;j<3;j++)
{
if(i==j)
{
sum=sum+a[i][j];
}
}
}
printf("the result is : %d\n",sum); /*输出最后的结果*/ return 0;
}
复制代码
3.⼆维数组应⽤
复制代码
#include
int main()
{
int a[2][3],b[3][2]; /定义两个数组/
int max,min;/表⽰最⼤值和最⼩值/
int h,l,i,j;/⽤于循环控制/
for(i=0;i<2;i++) /通过键盘为数组元素赋值/
{
for(j=0;j<3;j++)
{
printf(“a[%d][%d]=”,i,j);
scanf("%d",&a[i][j]);
}
}
printf("输出⼆维数组:\n");
for(i=0;i<2;i++)
{
for(j=0;j<3;j++)
printf("%d\t",a[i][j]);/*使元素分⾏显⽰*/ }
printf("\n");
}
/*求数组中最⼤元素及其下标*/
max=a[0][0];
h=0;
l=0;
for(i=0;i<2;i++)
{
for(j=0;j<3;j++)
{
if(max
{
max=a[i][j];
h=i;
l=j;
}
}
}
printf("数组中最⼤元素是:\n");
c语言二维数组表示方法printf("max:a[%d][%d]=%d\n",h,l,max); /*求数组中最⼩元素及其下标*/
min=a[0][0];
h=0;
l=0;
for(i=0;i<2;i++)
{
for(j=0;j<3;j++)
{
if(min>a[i][j])
{
min=a[i][j];
l=j;
}
}
}
printf("数组中最⼩元素是:\n");
printf("min:a[%d][%d]=%d\n",h,l,min);
/*将数组a转换后存⼊数组b中*/
for(i=0;i<2;i++)
{
for(j=0;j<3;j++)
{
b[j][i]=a[i][j];
}
}
printf("输出转换后的⼆维数组:\n");
for(i=0;i<3;i++)
{
for(j=0;j<2;j++)
{
printf("%d\t",b[i][j]);
}
printf("\n"); /*使元素分⾏显⽰*/
}
return 0;
}
复制代码
每⼀个矜持淡定的现在,都有⼀个很傻很天真的曾经标签:int,元素,C语⾔,⼆维,数组,printf,array

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。