2024-05-19 04:17:45
方法很多:
我这里直接用动态数组演示。
矩阵维度该
#include <stdio.h>
#include <malloc.h>
#define row 2 //矩阵行数
#define col 3 //矩阵列数
int main()
{
int ***a=NULL,**b=NULL,*c=NULL,*p=NULL,n,i,j,k;
printf("输入要创建的二维矩阵(%dX%d)个数:",row,col);
scanf("%d",&n);
a=(int ***)malloc(sizeof(int **)*n);
if(!a)
return 1;
for(i=0;i<n;i++)
{
c=(int *)malloc(sizeof(int)*row*col);
b=(int **)malloc(sizeof(int *)*row);
if(!c || !b)
return 1;
p=c;
a[i]=b;
while(p<=c+(row-1)*col)
{
*b=p;
p+=col;
b++;
}
}
//----------截止到此,n个二维矩阵空间创建完成----------//
//----下面可以试着给矩阵赋值打印--------------//
for(i=0;i<n;i++)
{
printf("请给第%d个%dX%d矩阵赋值:\n",i+1,row,col);
p=&a[i][0][0];
for(j=0;j<row*col;j++)
scanf("%d",p++);
}
printf("输入的矩阵为:\n");
for(i=0;i<n;i++)
{
p=&a[i][0][0];
k=1;
for(j=0;j<row*col;j++)
{
printf("%d ",*p);
if(k++==col)
printf("\n"),k=1;
p++;
}
printf("\n");
}
return 0;
}
2024-05-19 09:46:19
2024-05-19 10:36:58
能举个例子不。
2024-05-19 05:01:33