二维数组C语言
‘壹’ c语言二维数组怎么表示
int
a[m][n];//就表示一个m行n列的整型二维数组
在c语言中数组的下标是从0开始的所以,数组a的元素个数可以表示为:a[0][0]-a[m-1][n-1]
例如:
#include<stdio.h>
int main()
{
int a[3][2],i,j;//定义一个3行2列的整型二维数组a
for(i=0;i<3;i++)//依次给二维数组赋值
for(j=0;j<2;j++)
scanf("%d",&a[i][j]);
printf("\n");
for(i=0;i<3;i++){//输出二维数组
for(j=0;j<2;j++)
printf("%d ",a[i][j]);
printf("\n");
}
return 0;
}
/*
运行结果:
1 2
3 4
4 5
1 2
3 4
4 5
*/
‘贰’ C语言二维数组
float a[10][3]; 存10个学生的3门成绩
float b[10][2]; 存10个学生的3门成绩 总分 和 平均分。
依次输入每个学生的 3门成绩。计算每人的 总分,计算每人的平均分。再输出。
#include<stdio.h>
int main(){
float a[10][3];
float b[10][2];
int i,j;
for (i=0;i<10;i++){
printf("input Math Chinese English scores for student %d\n", i+1);
for (j=0;j<3;j++) scanf("%f",&a[i][j]);
};
for (i=0;i<10;i++) {
b[i][0]=0;
for (j=0;j<3;j++) b[i][0]=b[i][0]+a[i][j];
b[i][1]=b[i][0]/3.0;
};
for (i=0;i<10;i++) printf("Student %d, total=%g, mean=%g\n",i+1,b[i][0],b[i]
[1]);
return 0;
}
‘叁’ c语言二维数组的赋值
1、首先在电脑上打开c语言编程软件。然后创建项目。
‘肆’ C语言 二维数组的使用
实际上是数据的一种组织方式,你可以想象成: 二维数组:行x列的长方形 三位数组:长x宽x高 的长方体 在c语言中,数组的意义,就是让数组的名字可以当作指针来使用,这样就能很方便的定位数据。 比如你有一个数组arry[300][300][300] 那么他能存储300*300*300=27000000个数据,如果要移动指针,那么非常浪费,你需要移动27000000次才能移动到最后,而用数组的名字*(arry[300][300]++)只要300次就可以移动到最后一个数据。 当然数组和指针不仅仅是这个用途,还有更多精妙的用法等你灵光一现。
‘伍’ c语言二维数组
1、首先是定义一个二级指针和行列变量【int **array,row,column;】。
‘陆’ c语言中什么是二维数组
二维数组的定义
二维数组定义的一般形式是:
类型说明符 数组名[常量表达式1][常量表达式2]
其中常量表达式1表示第一维下标的长度,常量表达式2 表示第二维下标的长度。例如:int a[3][4];
说明了一个三行四列的数组,数组名为a,其下标变量的类型为整型。该数组的下标变量共有3×4个,即:
a[0][0], a[0][1], a[0][2], a[0][3]
a[1][0], a[1][1], a[1][2], a[1][3]
a[2][0], a[2][1], a[2][2], a[2][3]
二维数组在概念上是二维的,即是说其下标在两个方向上变化,下标变量在数组中的位置也处于一个平面之中,而不是象一维数组只是一个向量。但是,实际的硬件存储器却是连续编址的,也就是说存储器单元是按一维线性排列的。如何在一维存储器中存放二维数组,可有两种方式:一种是按行排列, 即放完一行之后顺次放入第二行。另一种是按列排列, 即放完一列之后再顺次放入第二列。
在C语言中,二维数组是按行排列的。即,先存放a[0]行,再存放a[1]行,最后存放a[2]行。每行中有四个元素也是依次存放。由于数组a说明为int类型,该类型占两个字节的内存空间,所以每个元素均占有两个字节。
‘柒’ 二维数组 C语言
指针你可以理解成分为两类:一级指针, 二级指针.
二级指针其实还分有无数种类型.
我们知道,int a[10] ; 那么,a[x]完全等于*(a+x);
但是二维数组并不是这样的.二维数组的基础是一维数组.二维数组的每个元素是个一维数组,也就是说,int a[10][20]; 其中a是一个指向了一个类型为int[20]的数组, 所以a的类型就是int *[10]或int[][10];所以, int a[i][j]; 那么a[i][j]同样是成全等于*(a+i*j+j)的.这样就可以解释为什么D是对的.
‘捌’ C语言编程 二维数组 输出一个2*3的矩阵
#include<stdio.h>
void main()
{
int a[2][3];
int i,j;
printf("输入一个2*3整型数组 ");
for(i=0;i<2;i++)
for(j=0;j<3;j++)
scanf("%d",&a[i][j]);
printf("
输出一个2*3整型数组
");
for(i=0;i<2;i++)
{
for(j=0;j<3;j++)
printf("%d ",a[i][j]);
printf(" ");
}
}
(8)二维数组C语言扩展阅读:
注意事项
c语言的输入输出可用标准库里面的输入输出函数,即scanf和printf。
输入输出二维数组的例子:
#include<stdio.h>
int main()
{
int M = 5 , N = 5;
int array[M][N]; //定义一个5x5的int数组
printf("输入:");
for(int i = 0 ; i < M ; i++){
for(int j = 0 ; j < N ; j++){
scanf("%d",&array[i][j]);
}
}
printf("输出:");
for(int i = 0 ; i < M ; i++){
for(int j = 0 ; j < N ; j++){
printf("%d ",array[i][j]);
}
}
return 0;
}