本文目录一览:
C语言中如何定义动态二维数组并输出
使用malloc函数,先分配第一维的大小,然后再循环分配每一维的大小。
示例代码,分配3行4列二维数组:
#include stdio.h#include malloc.h int main(){ int **a; int i, j; a = (int**)malloc(sizeof(int*)*3);//为二维数组分配3行 for (i = 0; i 3; ++i){//为每列分配4个大小空间 a[i] = (int*)malloc(sizeof(int)*4); } //初始化 for (i = 0; i 3; ++i){ for (j = 0; j 4; ++j){ a[i][j] = i+j; } } //输出测试 for (i = 0; i 3; ++i){ for (j = 0; j 4; ++j){ printf ("%d ", a[i][j]); } printf ("\n"); } //释放动态开辟的空间 for (i = 0; i 3; ++i){ free(a[i]); } free(a); return 0;}/*输出:0 1 2 31 2 3 42 3 4 5*/
急急!!!如何用c语言输入和输出一个二维数组??
#include stdio.h
#include stdlib.h
int main()
{
int a[2][2];
int i,j;
for (i=0;i2;i++)
{
for (j=0;j2;j++)
{
scanf("%d ",a[i][j]);
}
}
for(i=0;i2;i++)
for(j=0;j2;j++)
printf("%d",a[i][j]);
return 0;
}
运行成功
C语言如何建立一个二维数组
刚刚看错了,原来是C语言,这样就好了.
输入m,n
int m,n;
int i,j;
scanf("%d%d",m,n);
int **mm=(int**)malloc(m*sizeof(int*));
for(i=0;im;i++)
mm[i]=(int*)malloc(n*sizeof(int));
这就建了一个二维数组mm[m][n]了.
使用时,就直接mm[i][j]就可以了.
先输入行数m,列数n
然后输入一个m*n的矩阵
然后输出这个矩阵.
#include stdio.h
#include malloc.h
void main() {
int m,n;
int i,j;
scanf("%d%d",m,n);
int **mm=(int**)malloc(sizeof(m*sizeof(int*)));
for(i=0;im;i++)
mm[i]=(int*)malloc(sizeof(n*sizeof(int)));
for(i=0;im;i++) {
for(j=0;jn;j++)
scanf("%d",mm[i][j]);
}
for(i=0;im;i++) {
for(j=0;jn;j++)
printf("%d ",mm[i][j]);
printf("\n");
}
}
C语言中如何直接输出一个二维数组
c语言中直接输出一个二维数组是用数组来访问输出的,例子:
#includestdio.h
#define M 4
#define N 3
void main()
{
int a[M][N],i,j;
for(i=0;iM;i++)
for(j=0;jN;j++)
a[i][j]=3*i+j;
for(i=0;iM;i++)
{ for(j=0;jN;j++)
printf("%d\t",a[i][j]);//直接用数组来访问
printf("\n");
}
}
除了可以直接访问,也可以用指针来访问,用指针指向该数组,便可进行对数组的读写操作。
运行结果图:
c语言怎么创建二维数组
int a[m][n];//就表示一个m行n列的整型二维数组
在c语言中数组的下标是从0开始的所以,数组a的元素个数可以表示为:a[0][0]-a[m-1][n-1]
例如:
#includestdio.h
int main()
{
int a[3][2],i,j;//定义一个3行2列的整型二维数组a
for(i=0;i3;i++)//依次给二维数组赋值
for(j=0;j2;j++)
scanf("%d",a[i][j]);
printf("\n");
for(i=0;i3;i++){//输出二维数组
for(j=0;j2;j++)
printf("%d ",a[i][j]);
printf("\n");
}
return 0;
}
/*
运行结果:
1 2
3 4
4 5
1 2
3 4
4 5
*/